[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: Greg Stein <gstein_at_gmail.com>
Date: Thu, 11 Sep 2008 11:57:44 -0700

In short, I'm not seeing any reason to modify the definitions. Mike
explained them rather well, and I don't see any problems with those
definitions.

On Thu, Sep 11, 2008 at 10:47 AM, Julian Foad
<julianfoad_at_btopenworld.com> wrote:
>...
> Getting warmer. How about:
>
> * ACTUAL is the tree on the local disk, ignoring Subversion
> administrative directories, and regarding every node as having
> no Subversion properties.

Eh? That's just what is on disk. I'm not sure that is a relevant tree.

What is on disk is only relevant in the context of a working copy.
More specifically, how it relates/differs from WORKING.

Files/dirs present, but not in WORKING: unversioned nodes
Files/dirs in WORKING, but not present: missing nodes

>...
>> BASE + Subversion-managed changes = WORKING.
>> WORKING + non-Subversion-managed changes = ACTUAL.

Yup. Note that WORKING *may* include text-mod flags. If somebody does
an "svn edit", then a flag will get recorded saying "looks like this
file was modified" (or is likely to have been). But WORKING is purely
an admin thing. You have to look at ACTUAL to find *real* text mods.

> I was also questioning the intent of defining WORKING as a tree that has
> the BASE file contents. That seems silly: what useful concept does that

It doesn't "have them" ... it is just that most of the WORKING tree's
contents == BASE's contents, simply because they haven't been
modified. There isn't any real "container" or "superset" or anything.

> represent? It seems to me that it represents an implementation artifact:
> the set of modifications that Subversion records explicitly in its
> meta-data rather than the modifications that Subversion scans for
> dynamically. That's not a distinction of much interest to the higher
> layers of software.

WORKING is entirely an admin thing. To find the complete set of
modifications, you also have to look at the ACTUAL files which
correspond to WORKING files. (you don't have to examine the entire
ACTUAL tree! ... sometimes unversioned files are irrelevant)

> I submit that it is much more sensible to define WORKING as I suggested
> in my earlier mail. (i.e. having the disk file contents)

Sorry, but I'm not seeing it.

Thanks,
-g

---------------------------------------------------------------------
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-11 20:57:57 CEST

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