[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Branching and tagging clarification

From: Jim.Hyslop
Subject: RE: Branching and tagging clarification
Date: Thu, 30 Sep 2004 16:46:41 -0400

kit wrote:
> I'm sorted of new to CVS and I like some clarification.
> I need to pause development of the current requirements in order to
> move forward some future requirements and release the current
> requirments later. So this would mean that I would create a 
> branch from
> the last release. During this course of development there will be a
> number of releases before I reach the point where I can merge 
> this back
> into the trunk to resume development on the original requirements.
> I want to clarify that every time I create a tag on the branch, those
> tags must be a branch tag.
No, not at all. If that were the case, then your tree would look like a wild
bush, with branches off branches off branches, and the whole thing would be
a mess.

> Ie. I want the tag structure to look like:-
> +--(R1)--(R2)--(R3)(B1)-----------------------+--(R8)
> |                        |
> +--(R4)--(R5)--(R6)--(R7)+
> And if that is the case, how do I 'make' and existing tags have the
> right revisions against them as I haven't been doing this. As 
> a result,
> I now have "cvs commit: sticky tag R6 for file F1 is not a branch"
> errors.

A sticky tag (or just plain "tag") is a snapshot of the repository as it
exists at a specific moment in time. CVS does not let you rewrite history by
changing that snapshot.

If you want to work on the branch, check out or update to the *branch* tag,
not a revision or sticky tag. A branch tag is automatically a "floating" tag
- i.e. it always refers to the latest revision at the tip of the branch.

Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. (
Columnist, C/C++ Users Journal (

reply via email to

[Prev in Thread] Current Thread [Next in Thread]