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

Re: WC-NG: the trees BASE, WORKING and ACTUAL [was: svn commit: r33021 - branches/explore-wc/subversion/libsvn_wc]

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 16 Sep 2008 16:42:25 +0100

On Fri, 2008-09-12 at 09:36 -0700, Greg Stein wrote:
> Hey Julian,
>
> Thanks for all the thinking about this, but I'm just not seeing it as
> being all that complicated. Near the end of this note, you point out
> more or less what I'm thinking:
>
> * one BASE tree and its API
> * one API to access the WORKING/ACTUAL "tree" in a blended form

Two trees should be fine as long as the APIs are common wherever
possible. For example, I don't want the "diff BASE against REPOS" API to
be completely different from the "diff WORKING/ACTUAL against REPOS"
API. I was looking to make it simpler by defining independent concepts,
not more complicated!

> The WORKING and ACTUAL trees are conceptually different, but are
> generally used together. I've detailed the potential differences in
> wc-ng-design.
>
> I also tend to disagree with the notion of trying to work with these
> trees independently. All three are tied to a specific path in the
> local filesystem. Given PATH, you will have an associated BASE tree, a
> WORKING tree, and at PATH on the disk, the ACTUAL tree. I don't see a
> need to work with them independently because that will simply never
> happen (nor need to, afaik).

My example didn't strike a chord with you? OK, we'll see how it goes.

> And note that we generally shouldn't try to construct trees (and
> especially not their contents!) in memory since that is unbounded.
> Yes, I know we do, but we should avoid it whenever possible.

Yes - I pointed that out and the relevance of my example didn't depend
on that.

> The design is currently along the lines of (2), and the user of the
> API will never have to redirect. You use one of the two tree APIs
> based on what you're looking for.

I'll take another look when we've got something more concrete to look
at.

Thanks,
- Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-09-16 17:43:00 CEST

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