[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]
        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 = .]
        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

> > 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

    trunk/ [svn:parallel:branches = (dir="../branches/*",chop=1)]
    branches/ [svn:parallel:trunk = (dir="../trunk",chop=2)]
                   [svn:parallel:branches = (dir="./*",chop=2)]

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.