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

Re: '@BASE' vs. 'BASE tree' -- was: Re: svn_wc__db_base_get_info() vs. svn_wc__db_read_info() ?

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Thu, 28 Jan 2010 14:51:33 +0000

On Thu, 2010-01-28 at 15:17 +0100, Neels J Hofmeyr wrote:
> Greg Stein wrote:
> > On Wed, Jan 27, 2010 at 16:51, Neels J Hofmeyr <neels_at_elego.de> wrote:
> >> Greg Stein wrote:
> >> ...
> >>> and recall that BASE == what you checked out from the repository.
> >>> WORKING corresponds to added/removed/copied/moved nodes. For nodes in
> >> Yes, I learnt this from Bert last week, and also that the current *@BASE*
> >> commandline keyword refers to the "copy_from" of the *WORKING* tree for all
> >> the add-with-history schedules :)
> >
> > I don't think it is advisable to try to make any correlation between
> > the cmdline markers and the names that we use internally for the
> > trees.
> I agree, but of course, anyone new to the subject of svn_wc will
> automatically have the association '@BASE' <-> 'BASE tree' popping up.
> They're even both in all-caps.
> From our discussion on 'svn cat' behaviour (with Julian and Bert), I know
> that @BASE does not always mean 'exactly what was checked out', but I think,
> and it seems Julian agrees, that most users would expect @BASE to actually
> mean strictly the BASE tree info.

Oof - try not to say it this way round. I basically know what you mean,
but the WC-NG "BASE tree" concept is the new one, and users do not have
that as their point of reference.

> Until told otherwise, I thought 'svn cat
> file_at_BASE' was buggy in that respect and tried to fix it :/
> It seems a little unfortunate to have this "naming ambiguity". But there we
> go. Need to keep the current behavior. We can only add new keywords...
> For the record:
> "@BASE" == svn_opt_revision_base
> is NOT ALWAYS the same as
> "BASE tree" == svn_wc__db_base_get_info
> (although they are the same when there is no 'new' history in the WORKING tree)
> I humbly suggested "@ORIG" to represent the "BASE tree". Any comments on
> actually implementing that? I'm not sure if it is really needed by people,
> but it may help to explain what "@BASE" is (as opposed to "@ORIG").

It sounds like you are suggesting a new keyword to represent a concept
that the user already has and already has a keyword for ("@BASE").

At least we need to figure out whether the existing "@BASE" keyword
should mean "the thing I checked out" (I think it should) and any
deviation from that should be treated as a bug. Only if we decide that
the users really need an extra concept - being, I assume, "the thing you
checked out, unless this is a copy, in which case the thing you copied"
- would we need a new revision keyword.

That discussion is entirely separate from WC-NG concerns.

I agree that naming the WC-NG concepts with the same names as the
user-level concepts has turned out to be confusing because of the way
the concepts only partially match up, so it is worth considering
renaming the WC-NG concepts, uncomfortable though that would be for
those working on them.

- Julian

> >> (read_info's comment sounds like it:
> >> " * The information returned comes from the BASE tree, as possibly modified
> >> * by the WORKING and ACTUAL trees. ")
> > Sounds like the comment could/should be improved.
> +1
> That could probably save us some amount of IRC and mail traffic :)
> ~Neels
Received on 2010-01-28 15:52:16 CET

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