The example in the previous section demonstrates one of
the most common ways to choose which revisions to tag.
Namely, running the
cvs tag command without
arguments causes CVS to select the revisions which
are checked out in the current working directory. For
example, if the copy of backend.c in working
directory was checked out from revision 1.4, then
CVS will tag revision 1.4. Note that the tag is
applied immediately to revision 1.4 in the repository;
tagging is not like modifying a file, or other
operations in which one first modifies the working
directory and then runs
cvs commit to transfer
that modification to the repository.
One potentially surprising aspect of the fact that
cvs tag operates on the repository is that you
are tagging the checked-in revisions, which may differ
from locally modified files in your working directory.
If you want to avoid doing this by mistake, specify the
‘-c’ option to
cvs tag. If there are any
locally modified files, CVS will abort with an
error before it tags any files:
$ cvs tag -c rel-0-4 cvs tag: backend.c is locally modified cvs [tag aborted]: correct the above errors first!