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

Repository layout - branching at multiple levels?

From: Monks, Peter <peter.monks_at_vignette.com>
Date: 2004-08-06 23:51:18 CEST

G'day everyone,

We're currently in the process of setting up a repository that will
contain a variety of inter-dependent "code modules" that are all
dependent on a specific version of a 3rd party product.

Because our developer community will be required to support the same
code module across a multitude of product versions, we thought we'd
be able to use a repository layout something along the lines of:

    ProductA/
        branches/ (contains one branch per version of ProductA)
        tags/
        trunk/
            CodeModule1/
            CodeModule2/
            CodeModule3/
    ProductB/
        branches/ (contains one branch per version of ProductB)
        tags/
        trunk/
            CodeModule4/
            CodeModule5/
    etc.

The twist (there's always one, isn't there? ;-) is that we'd also
like to allow developers to create branches down at the individual code
module level, in order to support the usual "branch per developer"
development model. So conceptually what we want is something like:

    ProductA/
        branches/ (contains one branch per version of ProductA)
        tags/
        trunk/
            CodeModule1/
                branches/ (contains developer branches for CodeModule1)
                tags/
                trunk/
            CodeModule2/
                branches/ (contains developer branches for CodeModule2)
                tags/
                trunk/
            CodeModule3/
                branches/ (contains developer branches for CodeModule3)
                tags/
                trunk/
    ProductB/
        branches/ (contains one branch per version of ProductB)
        tags/
        trunk/
            CodeModule4/ (contains developer branches for CodeModule4)
                branches/
                tags/
                trunk/
            CodeModule5/ (contains developer branches for CodeModule5)
                branches/
                tags/
                trunk/

Where developers would have the ability to "svn switch" at either the
code module level (in order to merge a completed change, for example)
and also at the product level (in order to switch over to the full set
of code modules for a different version of the underlying product).

So my question is: how might we accomplish this with Subversion?

My understanding (please correct me if I'm wrong!) is that the notion
of nested branching isn't supported natively by Subversion (or any SCM
that I've used!), so I'm interested in seeing what some alternatives
might look like (we have a few ideas, but haven't really settled on
any single one yet).

Thanks in advance!
Peter

----------------------------------------------------------------------
Peter Monks http://www.sydneyclimbing.com/
pmonks_at_sydneyclimbing.com http://www.geocities.com/yosemite/4455/
----------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Aug 6 23:51:59 2004

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