下一个: Sticky tags, 上一个: Modifying tags, 上层: Revisions
准确地讲清楚打标签与添加、删除文件之间的相互关系不那么容易; 其他部分的 cvs 对于跟踪文件存在与否都处理的不错。默认作法是,打标签只对有版本的文件进行。文件 如果尚不存在或者被删除了将被忽略,cvs 对没有标签的文件认为它在打标签时不存在。
但这种作法会丢失一些信息。例如,假设有一个文件被添加,然后又给删除了。那么对于
没有标签的文件,cvs 没法知道打标签是在添加前还是在删除后执行的。如果是用
cvs rtag 加 `-r' 选项,cvs 对已删除的文件也能打标签,这样就避免
了上述问题。例如,你可以用 -r HEAD 来给版本树的头打标签。
为了处理添加、删除的文件,cvs rtag 命令有一个 `-a' 选项来避免给删除
的文件打标签。例如,你可以与移动标签时结合 `-F' 同时使用该选项。要是没有
`-a' 选项而移动标签,标签仍然会指向被删除文件的旧版本,而不能正确反映文件
已经被删除。对采用 `-r' 选项的操作,上面解释过,我不认为需要这样。