[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: Ryan Schmidt <subversion-2007b_at_ryandesign.com>
Date: 2007-04-08 11:09:37 CEST

On Apr 8, 2007, at 01:01, F.J. Weiland wrote:

> I've got the same question & just found this brief info exchange on
> the
> topic in the archives.
> http://subversion.tigris.org/servlets/ReadMsg?list=users&msgNo=23867
> I'm transitioning over to svn from another tool that works very
> differently, so I'm having to adjust a bit.
> Given two parallel lines of development, a main line and a new-feature
> line, using subversion, what's the "school solution" for marking the
> changes in the new-feature line?
> In subversion terminology, given a trunk and a branch called new-
> feature,
> how am I supposed to "tag" important builds of the new-feature
> branch --
> make a tags directory under the new-feature branch, or use the top-
> level
> tags directory and be clear about the tagname given?
> e.g.
> A. using a build-specific tags directory:
> /project/trunk
> /tags/maintag1
> /tags/maintag2
> ...
> /branches/old-feature
> /branches/new-feature
> /branches/new-feature/tags/new-featureRC1
> /branches/new-feature/tags/new-featureRC2
> or
> B. using only the main tags directory:
> /project/trunk
> /tags/maintag1
> /tags/maintag2
> /tags/new-featureRC1
> /tags/new-featureRC2
> ...
> /branches/old-feature
> /branches/new-feature
> Which is considered the "Right" way to do this with subversion?

Use "B". "A" is not possible unless you put an additional directory
under the new-feature branch directory in which to put your actual
code, and that would no longer represent any kind of example
recommended by Subversion. It's for the same reason that you need a
directory (by convention called "trunk") in which to put your main
code, rather than putting it directly into "project": the reason is
the way by which you create a branch or tag: you copy. If you were to
copy "project" to "project/tags/maintag1", and then later copy
"project" to "project/tags/maintag2", you will find that "project/
tags/maintag2" will contain all of "project" -- including "tags/
maintag1"! And that's certainly not what you want -- that each tag
contains a copy of each previous tag. Therefore, do not copy
"project" (which contains the "tags" directory) in order to tag;
rather, copy "project/trunk" (which does not).

Of course, the directory structure is up to you and you can arrange
it any way that makes sense to you.

To reply to the mailing list, please use your mailer's Reply To All  
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sun Apr 8 11:10:08 2007

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