[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: Alan Barrett <apb_at_cequrux.com>
Date: 2005-11-09 23:54:02 CET

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.

--apb (Alan Barrett)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Nov 9 23:55:50 2005

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