4.7 Deleting, moving, and renaming tags
Normally one does not modify tags. They exist in order
to record the history of the repository and so deleting
them or changing their meaning would, generally, not be
what you want.
However, there might be cases in which one uses a tag
temporarily or accidentally puts one in the wrong
place. Therefore, one might delete, move, or rename a
tag.
WARNING: the commands in this section are
dangerous; they permanently discard historical
information and it can be difficult or impossible to
recover from errors. If you are a CVS
administrator, you may consider restricting these
commands with the `taginfo' file (see section Taginfo).
To delete a tag, specify the `-d' option to either
cvs tag
or cvs rtag
. For example:
deletes the non-branch tag rel-0-4
from the module tc
.
In the event that branch tags are encountered within the repository
with the given name, a warning message will be issued and the branch
tag will not be deleted. If you are absolutely certain you know what
you are doing, the -B
option may be specified to allow deletion
of branch tags. In that case, any non-branch tags encountered will
trigger warnings and will not be deleted.
WARNING: Moving branch tags is very dangerous! If you think
you need the -B
option, think again and ask your CVS
administrator about it (if that isn't you). There is almost certainly
another way to accomplish what you want to accomplish.
When we say move a tag, we mean to make the same
name point to different revisions. For example, the
stable
tag may currently point to revision 1.4
of `backend.c' and perhaps we want to make it
point to revision 1.6. To move a non-branch tag, specify the
`-F' option to either cvs tag
or cvs
rtag
. For example, the task just mentioned might be
accomplished as:
| cvs tag -r 1.6 -F stable backend.c
|
If any branch tags are encountered in the repository
with the given name, a warning is issued and the branch
tag is not disturbed. If you are absolutely certain you
wish to move the branch tag, the -B
option may be specified.
In that case, non-branch tags encountered with the given
name are ignored with a warning message.
WARNING: Moving branch tags is very dangerous! If you think you
need the -B
option, think again and ask your CVS
administrator about it (if that isn't you). There is almost certainly
another way to accomplish what you want to accomplish.
When we say rename a tag, we mean to make a
different name point to the same revisions as the old
tag. For example, one may have misspelled the tag name
and want to correct it (hopefully before others are
relying on the old spelling). To rename a tag, first
create a new tag using the `-r' option to
cvs rtag
, and then delete the old name. (Caution:
this method will not work with branch tags.)
This leaves the new tag on exactly the
same files as the old tag. For example:
| cvs rtag -r old-name-0-4 rel-0-4 tc
cvs rtag -d old-name-0-4 tc
|