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

Re: wc-ng base/working nodes in a copied tree

From: Greg Stein <gstein_at_gmail.com>
Date: Tue, 23 Mar 2010 04:11:36 -0400

On Mon, Mar 22, 2010 at 17:59, Philip Martin <philip.martin_at_wandisco.com> wrote:
> Greg Stein <gstein_at_gmail.com> writes:
>
>> The tree at copied-here should only have WORKING nodes. No BASE nodes.
>>
>> If it has BASE nodes, then that is a bug.
>>
>> The tree is distinguished as a copy because of the copyfrom_*
>> information at the operation root. All the children have empty
>> copyfrom_* data. If you make a second copy into that tree, then that
>> new subtree will have copyfrom_* at its root.
>
> My question was about an add rather than a second copy.  Consider
>
>   $ svn cp $url/A wc
>   $ svn add wc/A/Y
>
> Suppose $url/A contains $url/A/X.  How do I distinguish between a
> copied child, like wc/A/X, and an added node like wc/A/Y?  Neither has
> copyfrom set.  How do I know that A/X inherits from it's parent A
> while A/Y does not?

Yes, you brought up this hole in the design a while back, and we've
had some discussion on ways to solve it. As Bert points out, you can
use changed_* to detect the local-add, rather than local-copies.

We may introduce a special copyfrom_* value to indicate "local-add"
rather than "copy-from". Or maybe rely on changed_*. It is unclear on
what is the best approach right now.

Cheers,
-g
Received on 2010-03-23 09:12:09 CET

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