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
_______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/info-cvs
