[cvsnt] newbie branch/merge question

Bo Berglund bo.berglund at telia.com
Sun Aug 13 21:28:07 BST 2006

Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.

On Sun, 13 Aug 2006 14:45:08 -0400, "Nick Duane" <nickdu at msn.com>

>Thank you.  I'll look this over and see how well this will work for us.  The 
>one thing that comes to mind at this point (assuming I understand what 
>you're saying below) is that the releases are simply tags in the trunk as 
>opposed to branches.  Now maybe a symbolic tag and a branch are pretty 
>similar, as I said I'm new to CVS so I'm not sure about that.  I'm thinking 
>that I would like a branch for each release we intend to make so that we can 
>have a well defined place to pull releases from as opposed to just taging 
>the trunk at a release.  Plus we often have times when developers are 
>working on more than one release at a time and thus we'll need separate 
>locations for those.

Whenever you do a release from the trunk you should put a tag right
there to marke the sources that are part of that release.
Notice that a tag is a symbolic marker that is fixed to a set of files
(typically those you have in your sandbox) at a certain revision level
(again the revisions you have in your sandbox). It does not matter if
the sandbox is on a branch or on trunk, the same logic applies.

A branch is just a special type of tag that means that you can
actually commit changes to it. The branch tag moves along with the
committed revisions on the branch, it is not stationary.
So it is not a good idea to mark a release by a branch tag!

Afterwards you can create the bugfix branch for that release when
needed (at a later time). Nno need creating a branch that will never
bne used.....

Note that even if you create a branch right now you should
nevertheless *also* put a regular tag at this position because a
branch tag will move along with the sources committed on that branch
and when you later check out the branch you will get to the tip of the
branch rather than to te root. And (unfortunately) there is no way you
can set the tag on the root of the branch once you have started
working on it. So you are better off *always* tagging releases on
trunk and then making branches off these tags when needed only.


(Bo Berglund, developer in Sweden)

More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook