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

Re: Easy comparisons between related trunks, branches, and tags

From: Martin Furter <mf_at_rola.ch>
Date: 2005-11-10 00:39:34 CET

On Thu, 10 Nov 2005, Alan Barrett wrote:

> On Wed, 09 Nov 2005, Jim Blandy wrote:
>>> If several branches are each declared
>>> as parallel to the trunk, how do we know that the branches are also
>>> parallel to each other?
>>
>> You could set an svn:parallel:branch property on some parent of the
>> branches, as well as on (a parent of?) the trunk; then +branch would work
>> everywhere.
>
> What I meant was, if I have the following structure:
>
> trunk/ [svn:parallel:foo = ../branches/foobranch]
> [svn:parallel:bar = ../branches/barbranch]
> branches/
> foobranch/ [svn:parallel:trunk = ../../trunk]
> barbranch/ [svn:parallel:trunk = ../../trunk]
>
> and I have a working copy somewhere in foobranch,
> and I try to refer to "+bar", it doesn't work.
>
> Hmm, what if there was a mechanism for indirection through
> the properties on a different directory?
>
> trunk/ [svn:parallel:foo = ../branches/foobranch]
> [svn:parallel:bar = ../branches/barbranch]
> [svn:parallel:trunk = .]
> branches/
> foobranch/ [svn:parallel:* = ../../trunk]
> barbranch/ [svn:parallel:* = ../../trunk]
>
> Now if I have 100 branches, then I need to set 100 dirprops on the
> "trunk", but the other 99 branches just need the indirection specifier
> to tell them "look at the trunk's dirprops for information about other
> branches".
>
>>> And how do we know how many directory
>>> components are part of the branch specifier, as opposed to part of the
>>> directory within the branch?
>>
>> Right, that's another question that I was trying to get at here:
>>
>> # ... But how do you eliminate branch names in
>> # 'branches/branchname/subdirs'? If there's deep hierarchy under
>> # 'branches', you don't know how many components to drop to find the
>> # trunk, but keep subdirs.
>
> Perhaps make the property value look like a structured data type with
> multiple subvalues, one of which says how many directory levels to chop
> off?
>
> trunk/ [svn:parallel:branches = (dir="../branches/*",chop=1)]
> branches/ [svn:parallel:trunk = (dir="../trunk",chop=2)]
> [svn:parallel:branches = (dir="./*",chop=2)]
> foobranch/
> barbranch/
>
> Now "+trunk", "+branches/foobranch" and "+branches/barbranch" should
> work from anywhere.

But there's a problem when creating a new branch:

svn cp $REPOSURL/trunk $REPOSURL/branches/bazbranch

Now I have:
    trunk/ [svn:parallel:branches = (dir="../branches/*",chop=1)]
    branches/ [svn:parallel:trunk = (dir="../trunk",chop=2)]
                   [svn:parallel:branches = (dir="./*",chop=2)]
       foobranch/
       barbranch/
       bazbranch/ [svn:parallel:branches = (dir="../branches/*",chop=1)]

My new branch has no info about where trunk is and wrong info about the
branches.

Why not specify absolute path and set only one property containing
multiple lines like that:

svn propset svn:parallel "trunk project1/trunk
branches project1/branches/*
tags project1/tags/*" .

Then branching and tagging will neither lose properties nor inherit
properties with wrong values.

-Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Nov 10 00:40:10 2005

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