Our company recently began creating CVS branches to mark each release. Formerly we had been using tags, and if we fixed something during the testing period that needed to go out with the release, we simply moved the tag forward. This works well until two changes are made to the same file: one that should be released and the other that shouldn't. Now we need to apply the same change to both the head and the release branch.
I'm using Eclipse's CVS plugin to interact with CVS. When I look at a file's history, I see a i20090529Release tag in the Tags section (in this case on revision 1.30 of the file), and when I "Show Tag Viewer" within the History view, the icon indicates that this is a Branch tag, as opposed to a Version tag. When I look at revisions that have been committed since the Branch occurs I see that the next revision made to the head becomes version 1.31, and the next revision made to the branch becomes version 1.30.2.1. My question is, why does the i20090529Release tag stay with version 1.30 of the file, which is not the most recent revision on the i20090529 branch? Is this really even a bona-fide "tag," or is it more of a conceptual idea that the branch began branching off at this point? I notice I can't apply this tag to any other revision of the file. Why does it appear in the Tags column at all?
Thanks in advance for any clarification you can provide.