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

RE: question about multi-level trunk/branches/tags structure

From: Monks, Peter <peter.monks_at_vignette.com>
Date: 2005-01-06 18:49:40 CET

G'day Robert,

While there's nothing in Subversion that stops you from creating the
structure you describe, I don't think doing so would be very practical
in most cases (I'd originally wanted to do something similar, but
realised that it didn't make sense in our case).

The reason is that in order to use the branches / tags / trunk
structure effectively, it shouldn't be part of each user's working
copy. In other words if I have a repository layout such as:

    MyProject
        tags
        branches
        trunk

then each developer would check out "MyProject/trunk" (ie. they don't
have the tags or branches parts of the repository checked out at all).
If a user wanted to work on a branch, then they can "svn switch" over
to it, or check it out as a new working area on their local machine
(whichever is most convenient for them).

In contrast, if I create a repository layout such as:

    MyProject
        tags
        branches
        trunk
            myDoohickey
                tags
                branches
                trunk

then you're faced with the conundrum of "which 'trunk' do the developers
check out?"

If they check out the top level trunk ("MyProject/trunk"), then the
"MyProject/trunk/myDoohickey/tags",
"MyProject/trunk/myDoohickey/branches" and
"MyProject/trunk/myDoohickey/trunk" directories (and their contents!)
will all be part of their working copy (which probably isn't what was
intended).

If they check out the lower level trunk
("MyProject/trunk/myDoohickey/trunk") then they don't have that
problem, but then the top level tags/branches/trunk directories are
for all intents and purposes irrelevant.

In the end I came to the conclusion that nesting tags/branches/trunks
directories is not practical, and instead tried to strike a balance
between a single, high level set of tags/branches/trunk directories
vs a number of lower level tags/branches/trunk directories. I think
that's what the SVN book is trying to explain too - if you notice it
doesn't show any examples of nested tags/branches/trunks anywhere (or
at least it didn't last time I checked it! ;-)

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

 
 

> -----Original Message-----
> From: Robert P. J. Day [mailto:rpjday@mindspring.com]
> Sent: Thursday, January 06, 2005 8:40am
> To: Subversion mailing list
> Subject: question about multi-level trunk/branches/tags structure
>
>
> just to make sure i understand the usage of trunk/branches/tags, i'm
> assuming i can populate a new SVN project from a large multi-level
> directory structure and, as time goes by, i could use "svn mkdir" to
> add an extra level of those directories at just the locations where i
> want to support tagging and branching, right? (that is, at the
> moment, i'm not sure what portions of the repo i want to be able to
> tag so i'll just leave it alone for now and add it as necessary.)
>
> also, i have the ability to do this recursively, so that i can have
> trunk/branches/tags, say, at the top of the "project", and also at
> several levels further down, and below some of those as well, ad
> nauseum, right? (it could get messy, but i can live with that.)
>
> thanks.
>
> rday
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Jan 6 18:52:52 2005

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