[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Thu, 30 Jan 2003 11:18:31 -0000
Please could I ask for any advice on the following.
Consider a scenario where a product comprising several components (or
modules in CVS-speak) is being simultaneously developed in two different
versions. (Yes, I know, but that's life!). Some of the components have
diverged (branched) and some have not.
So to retrieve the code for one version one might do "cvs co product", and
for the other "cvs co -r legacy product". This assumes one version of the
product exists on the trunk, the other is branched on a branch tagged
My problem is with components of the product that remain common between both
versions. So the code for such components has not been branched. For the
legacy checkout to work, the tip of the trunk for that component must be
tagged with a non-branch tag "legacy". But now that tag must be moved
manually whenever a commit happens.
This, I suspect, is why I have seen people asking for "floating tags" in
Now, I don't see floating tags coming anytime soon, but I have conceived an
alternative. I have found that a single branch can be assigned two or more
different branch tags (by using cvs admin). A branch tag is naturally a
"floating tag", so my plan is to not use the trunk, but always check in on a
So the first version of the product would be retrieved by "cvs co -r future
product" and the second by "cvs co -r legacy product". Where a component has
diverged it would have two branches in the normal fashion. Where it remains
common, it has a single branch tagged as "future" with the alias "legacy".
Does anybody know of any issues with this or better way to achieve what I
Avellino Technologies Limited
- Branch aliasing,
Simon Scott <=