[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: Greg Stein <gstein_at_gmail.com>
Date: Thu, 28 Jan 2010 22:09:59 -0500

On Thu, Jan 28, 2010 at 12:30, Julian Foad <julian.foad_at_wandisco.com> wrote:
> Greg Stein wrote:
>...
>> I would also suggest new names for the trees since WORKING has caused
>> us problems, too.
>>
>> PRISTINE might be okay. And something to reference a restructured tree
>> (WORKING is all about add/copy/move/del).
>
> The big conceptual difference between your wc_db trees and what I think
> the user's concept of trees should be, is that the wc_db trees are
> "overlays", whereas the user's notions of "base" and "working" are
> complete trees, in the sense that for an unmodified file both notions
> regard the file as existing and having content.

Correct/agreed.

>...
> So the wc_db trees are something like
>
>  * (the pristine one, known as BASE)
>
>    A cached version of the complete tree that was checked out of the
> repository. (Well, ish.)

No need to use the term "cached". That is misleading. You have a copy
of some portion of the repository. Plain and simple.

>  * (the tree-changes, known as WORKING)
>
>    A set of tree-changes, describing any nodes added, deleted, moved,
> copied, replaced, etc. Any node that just has text and/or prop mods, or
> no mods, does not appear in this tree.

Correct.

>  * (the on-disk and in-property-storage stuff, known as ACTUAL)
>
>    A description of the text-content and properties of any nodes whose
> text-content and/or properties are different from its WORKING version.
> Any node that has no such differences does not appear in this tree.

Its WORKING node; or if none, then the BASE node.

The ACTUAL tree can also record tree conflicts for nodes that exist in
neither WORKING nor BASE.

> Is that anywhere close to accurate for a high-level starter?

Yup.

>...
> but, worryingly, that text goes into some detail that doesn't seem to
> correspond either to the user (command-line) concepts or the wc-ng DB
> concepts. Maybe it corresponds to some WC-1 implementation concepts -
> but I'm not sure it does.

Yah. Could be.

> I think that block of text might have misled some of us into thinking it
> was documentation of the WC-NG concepts.

There is a lot in the document about exploratory concepts. A lot of
stuff that we also ignored, threw out, and simply left behind (e.g.
library concepts and virtual func tables and whatnot). Not surprised
that it could stand for some cleaning.

Cheers,
-g
Received on 2010-01-29 04:10:36 CET

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