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 cvsnt 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 cvsnt 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, cvsnt 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!