Cleartool:如何将标签应用于仅在我当前视图中的文件?

时间:2011-12-14 05:11:28

标签: clearcase cleartool

我找不到将标签应用于当前视图中的文件的正确命令。我尝试了以下命令:

cleartool mklabel -r TEST_LABEL /vob/test/a

但问题是,无论文件是否在我当前的视图中,此命令都会将“Test_Label”标签应用于“vob/test/a”目录中的每个文件。
是否有任何命令仅将标签应用于当前视图中列出的文件?

3 个答案:

答案 0 :(得分:5)

cleartool mklabel  -r(ecurse) LABEL_NAME <directory name>

此命令将LABEL_NAME应用于视图文件夹及其下方的所有文件,您只需转到该目录,然后键入以下命令即可创建并应用标签

> cd /vob/test/a
> cleartool mklbtype –nc TEST_LABEL 
> cleartool mklabel  -r TEST_LABEL .

答案 1 :(得分:1)

mklabel documentation州说明了标记的版本:

  

处理作为目录元素的每个pname的整个子树(包括pname本身)。在递归下降到子树期间,不会遍历VOB符号链接。

一个例子提到:

  

将该标签附加到视图选择的当前目录的版本,并附加到当前目录中及其下方每个元素的当前选定版本


现在,如果您希望确实确定实际标记的版本,一种解决方案是使用find命令,并结合您的mklabel

cleartool find . -cview -exec "cleartool mklabel TEST_LABEL \"%CLEARCASE_XPN%\""

如果您已将该标签应用于不正确的版本并想要移动它:

cleartool find . -cview -exec "cleartool mklabel -replace TEST_LABEL \"%CLEARCASE_XPN%\""

这样,您可以先列出所涉及的版本:

cleartool find . -cview -print

然后,如果您同意输出,请通过mklabel指令应用-exec

OP user1096966报告使其与cleartool ls一起使用,以确保在当前视图中仅选择元素 可见

cleartool ls -r -vis

没有'-exec'指令,因此可能涉及管道,如(未经测试,但您明白了):

cleartool ls -r -vis -s -nxn | xargs cleartool mklabel -replace TEST_LABEL

答案 2 :(得分:0)

doco非常清楚标记的是什么,实际上doco中显示的第一个例子确实......当前视图对象默认标记为&amp;当前选择的版本(即,如果在您的视图中,则标记它,否则不标记。)

....从下面的doco中提取下面的内容(注意:上下文和命令以及标签类型选择器pname是最后一个参数...下面留空,因为驻留在工作目录中)...

实施例: •创建名为REL6的标签类型。 将该标签附加到视图选择的当前目录的版本,以及当前目录中及其下每个元素的当前选定版本。 CMD-上下文&GT; mklbtype -nc REL6

此致

Jim2