I just spent a few hours trying to do a release and repeatedly having tag problems, and it turns out to be what I would call a bug in the rtag command. I thought I would document it here for posterity.
The situation arises when you are trying to put a tag on a branch using rtag, and new files have been added to the mainline (HEAD) since the time the branch was made. The new files get the tag even though they have no branch revision! Here's a concrete example: Assume you start with a module fooproj checked out. It has file1.txt and file2.txt in it, and they are in revision control. Your checked out project is on the mainline. You use "cvs tag -b BRANCH-1 ." to create a branch on fooproj. So far, so good. Now you cvs add file3.txt to fooproj. Then, you decide you need a tag on BRANCH-1 indicating a snapshot of the latest progress. You don't have BRANCH-1 checked out, so you use "cvs rtag -r BRANCH-1 TAG-1 fooproj" to create the tag. The result is that the correct version of file1.txt and file2.txt are tagged, but the latest revision of file3.txt is also tagged! If, for example, file3.txt is source code that depends on the latest changes in HEAD to compile correctly, my release process (sorry, I mean YOUR release process) is screwed. Hope that saves someone a headache. Bobby Martin _______________________________________________ info-cvs mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/info-cvs
