[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: Bert Huijben <bert_at_qqmail.nl>
Date: Mon, 22 Mar 2010 23:30:27 +0100

> -----Original Message-----
> From: Philip Martin [mailto:philip.martin_at_wandisco.com]
> Sent: maandag 22 maart 2010 23:00
> To: Greg Stein
> Cc: dev_at_subversion.apache.org
> Subject: Re: wc-ng base/working nodes in a copied tree
>
> 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?

There is no clean way to determine this, which should be fixed by making it
explicit (how is still undetermined)

For the time being you can see a difference in the changed_* columns. Local
additions have no (=NULL) values here, while copies have at least a
changed_rev value. (This is how the entries read code currently determines
whether it should set .copied or not)

        Bert
Received on 2010-03-22 23:31:10 CET

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