我找不到将标签应用于当前视图中的文件的正确命令。我尝试了以下命令:
cleartool mklabel -r TEST_LABEL /vob/test/a
但问题是,无论文件是否在我当前的视图中,此命令都会将“Test_Label
”标签应用于“vob/test/a
”目录中的每个文件。
是否有任何命令仅将标签应用于当前视图中列出的文件?
答案 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