CVS Branch Usage
These instructions are not for use when updating onto a
production release branch. For those see:
Patching a production version of D0 code.
Working on a cvs branch is really simple until you try to merge the
branch back in. I do not recommend that you do that. Instead,
make any changes twice, once on the branch, once on the main cvs trunk.
- chose your branch point. This may have already have been rtagged. If it
hasn't been:
- cvs rtag -b -r <existing tag> <branch tag>
<package>
<branch tag> should be of the form:
<existing tag>-branch (or -br)
Do not use a tagname starting with "p". These are
reserved for production releases.
- newrel -t <base-rel> <mytest-branch>
as usual to create a new working area.
It's a good idea to name the subdirectory something with "branch" in the name.
- cd <mytest-branch>
- addpkg <package> <branch tag>
NOTE: <branch tag> takes the place of "-h",
do not use -h
- the rest is exactly what you aways do except
- to tag a new version on the branch
cvs rtag -r <branch tag> <new tag> <package>
step 5) checks out the version of <package> at the base of the
branch since this is the 1st time it's been done. Later, the same addpkg will
check out the head of the branch. The key is that
any -r <branch tag> always refers to the head
of the branch labeled <branch tag>. Thus a branch tag (created
via rtag -b) is fundamentally different than a normal tag created
without the -b although the command syntax is exactly the same in the
two cases. That's why we add the -r ... in step 7). It refers to the
head of branch <branch tag>
In step 6) you use update, commit etc exactly as you do on the
mainline. You just update from and commit to the head of the branch
rather than the mainline head.
The only caviot is that I'm not super sure what adds and removes do on a
branch. If you must do either to a branch, give me a call
first and I'll run some tests.
To make changes to both the branch and the head, have
two working directories and be careful to put the correct
edits into each.
Alan Jonckheere
Last modified: Tue Dec 8 14:30:18 CST 1998