> -----Original Message----- > From: Neels J Hofmeyr [mailto:ne...@elego.de] > Sent: maandag 18 januari 2010 14:16 > To: Julian Foad > Cc: Bert Huijben; dev@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=f...@base --new=file'[...@working] and 'svn cat > f...@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 ;-)) Bert