下一个: , 上一个: Modifying tags, 上层: Revisions


4.8 打标签与添加、删除文件

准确地讲清楚打标签与添加、删除文件之间的相互关系不那么容易; 其他部分的 cvs 对于跟踪文件存在与否都处理的不错。 默认作法是,打标签只对有版本的文件进行。 文件如果尚不存在或者被删除了将被忽略,cvs 对没有标签的文件认为它在打标签时不存在。

但这种作法会丢失一些信息。 例如,假设有一个文件被添加,然后又给删除了。 那么对于没有标签的文件,cvs 没法知道打标签是在添加前还是在删除后执行的。 如果是用 cvs rtag 加 `-r' 选项,cvs 对已删除的文件也能打标签,这样就避免了上述问题。 例如,你可以用 -r HEAD 来给版本树的头打标签。

为了处理添加、删除的文件,cvs rtag 命令有一个 `-a' 选项来避免给删除的文件打标签。 例如,你可以与移动标签时结合 `-F' 同时使用该选项。 要是没有 `-a' 选项而移动标签,标签仍然会指向被删除文件的旧版本,而不能正确反映文件已经被删除。 对采用 `-r' 选项的操作,上面解释过,我不认为需要这样。