通常不会去修改标签。他们的存在是为了纪录源码库的更新历史。如果删除或修改本身就是违反了初衷。
如果使用的是临时标签,或者误打了标签,你也可以进行删除,移动,更名操作。
警告:本节的命令具有危险性,他们会永久性的抹去历史纪录信息并且一旦出错无法恢复。如果你是管理员,你应当利用taginfo限制这些命令[用户自定义日志 在 第 8 章]。
要删除标签,在cvs tag或cvs rtag后面加上-d选项。例如:
cvs rtag -d rel-0-4 tc |
将非分支(non-branch)标签rel-0-4从模块tc上删除。如果给定的名称是源码库的一个分支标签(branch tags),该标签不会被删除并返回警告信息。当你明确地知道自己在干什么,加上-B选项就能删除分支标签。反过来,这时如果遇到非分支标签将不会被删除并返回警告信息。
警告:删除分支标签是非常危险的!当你需要使用-B选项时,想清楚并咨询cvs管理员(如果你不是管理员)。这是你应该做的。
move一个标签,是将这个名字赋给另外的版本。例如,stable标签现在是用在文件backend.c的版本1.4上,我们想将它转到版本1.6上面。移动一个非分支标签,在cvs tag or cvs rtag命令后面加上-F选项。我们可以这样做:
cvs tag -r 1.6 -F stable backend.c |
如果要移动的标签是一个分支标签,该命令中断并提示错误警告。如果你明确要这样做,再命令的后面加上-B选项。反过来,这时如果遇到非分支标签将不会执行并返回警告信息。
警告:移动分支标签是非常危险的!当你需要使用-B选项时,想清楚并咨询cvs管理员(如果你不是管理员)。这是你应该做的。
rename一个标签,是说给一个版本上的已有标签名改名。例如,有人将标签名写错了并要更正它(希望其他人还没有使用这个错误的标签)。要改标签名,先用带有-r选项的cvs rtag命令,然后删除旧标签名(注意:该方法对分支标签无效)。改名后标签位置与原标签相同。例如:
cvs rtag -r old-name-0-4 rel-0-4 tc cvs rtag -d old-name-0-4 tc |