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