[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: libsvn_wc bug: pristine contents for locally replaced file

From: Bert Huijben <bert_at_qqmail.nl>
Date: Mon, 18 Jan 2010 15:19:31 +0100

> -----Original Message-----
> From: Neels J Hofmeyr [mailto:neels_at_elego.de]
> Sent: maandag 18 januari 2010 14:16
> To: Julian Foad
> Cc: Bert Huijben; dev_at_subversion.apache.org
> Subject: Re: libsvn_wc bug: pristine contents for locally replaced file
> >> Bert Huijben wrote:
> >>> Currently @BASE is the 'previous' version of the node that will be
> >>> committed. For added and replaced nodes with history there is no
> @BASE.
> [...]
> Julian Foad wrote:
> > I always thought (and still think) that, from the user's point of view,
> > "base" always meant "the version that my local changes are based on",
> (this definition is slightly ambiguous ^, it's more clear here:)
> > also being "the version that somebody else would get if they check out
> > the same revision number that I checked out". That is like Neels' "ORIG"
> > descibed above. The "-r BASE" revision keyword always means that. The
> [...]
> Testing 'svn diff --old=file_at_BASE --new=file'[@WORKING] and 'svn cat
> file_at_BASE', it actually looks like the UI keyword BASE is defined as
> copy-from-base instead of ORIG. Which IMHO goes against users' intuition.
> Summarizing the questions I still have (even more so) now:
> i) Should the UI keyword "BASE" mean revert-base or copy-from-base?
> i.b) Do we need to be able to show both cases? (Like add a new keyword)

As noted before, changing the current behavior of BASE will break existing applications, which will require going to 2.0.
+1 on adding a new keyword.
(And note that the libsvn_wc/README says that you can't trust the revert base to be there as it was only introduced in 1.4. Before merging of the wc-replacement branch in r 856775 we just deleted the ORIG version on replacing)

> ii) Does "pristine" mean revert-base or copy-from-base?
This term is overloaded in so many ways, that we are trying to eliminate it from the sourcecode with WC-NG and instead we refer to the BASE and WORKING trees and their storage.

> ii.b) Does svn_wc__get_pristine_contents() correspond to that?
This function will most likely go away when we get to a SHA-1 base 'pristine' store, to be replaced with a version with a more explicit name.
(And there we have that 'pristine' word again ;-))

Received on 2010-01-18 15:20:09 CET

This is an archived mail posted to the Subversion Dev mailing list.