[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Aliasing the trunk with a branch tag
From: |
Keith Refson |
Subject: |
Aliasing the trunk with a branch tag |
Date: |
Thu, 26 Aug 2004 16:36:34 +0100 |
User-agent: |
Mozilla Thunderbird 0.7.3 (X11/20040806) |
One problem I regularly face is: how to build two different versions of
a project which differ in only a very small subset of files. One of
these versions is obviously the trunk version. It would be extremely
convenient if this could be achieved by simply
cvs co (or update) -A myproject
cvs co (or update) -r Version_B myproject
to switch between them. The main (trunk) version is under continual
development and "Version_B" should mean "the head of the branch Version_B
for the few files which differ and the head of the trunk otherwise".
Obviously only branch tags will do. But attaching a branch tag to the
files which differ will fix the version beloning to "Version_B" for all
time (or until I move the unused branch tag by hand).
I recenty came across a suggestion of how to do this, and it does work
when I tried it out. The idea is simple - just add the branch at the
numeric version "1":
cvs admin -nVersion_B:1
for the files common to both versions of the project. This makes
branch Version_B an alias for the trunk. Then make a regular
branch for the files which differ. (This assumes the RCS revisions on the
trunk are all 1.nnn ..., but the extension to other cases is obvious).
Now cvs co -r Version_B myproject does indeed fetch all of the files
needed to build or develop Version_B of the project, which benefits from
any changes to the trunk version.
I'm asking for any opinions on whether this is a safe thing to do, and any
potential difficulties, mild or severe, which might arise.
Keith Refson
- Aliasing the trunk with a branch tag,
Keith Refson <=