tag [ lQqR] [ b] [ d] symbolic_tag [files...]

Requires: working directory, repository

Changes: repository.

Synonym: freeze

Use this command to assign symbolic tags to the nearest repository versions to your working sources. The tags are applied immediately to the repository, as with rtag, but the versions are supplied implicitly by the cvs records of your working files' history rather than applied explicitly.

One use for tags is to record a "snapshot" of the current sources when the software freeze date of a project arrives. As bugs are fixed after the freeze date, only those changed sources that are to be part of the release need be retagged.

The symbolic tags are meant to permanently record which revisions of which files were used in creating a software distribution. The checkout and update commands allow you to extract an exact copy of a tagged release at any time in the future, regardless of whether files have been changed, added, or removed since the release was tagged.

If you use 'cvs tag -d symbolic_tag...', the symbolic tag you specify is deleted instead of being added.

Warning: Be very certain of your ground before you delete a tag; doing this effectively discards some historical information, which may later turn out to have been valuable.

The -b option makes the tag a "branch" tag, allowing concurrent, isolated development. This is most useful for creating a patch to a previously released software distribution.

Normally, tag executes recursively through subdirectories; you can prevent this by using the standard -l option, or specify the recursion explicitly by using R.