如何在没有完全合格版本的情况下列出Clearcase版本?
问题描述:
在Clearcase中: 我试图找到没有特定标签的当前视图中的所有文件的名称。到目前为止,我想出了以下内容:如何在没有完全合格版本的情况下列出Clearcase版本?
cleartool find -cview -all -version '\!lbtype(LABEL_1)' -print
但这最终与“@@ /主/ BRANCH1 /支行”并在末尾显示文件名,我真的只想要文件名。
我试过添加一个-short,但find命令不喜欢那个选项,而且在手册中找不到选项来改变行为。
答
发现:
-nxname
移除扩展命名符号(默认,@@),并从每个选定对象的名称的任何后续版本ID或分支路径名。由此转换产生的重复名称被抑制。实际上,该选项将扩展名称转换为标准操作系统名称;它还将分支或版本的名称转换为元素的名称。
所以
cleartool find . -cview -nxn -version '\!lbtype_sub(LABEL_1)' -print
打印在当前视图&目录下的所有文件(和子目录)没有标签LABEL_1
答
您可以结合,如果需要用EXEC指令中找到(测试两者):
cleartool find -cview -all -element '\!lbtype_sub(LABEL_1)' -print
cleartool find -cview -all -element '\!lbtype_sub(LABEL_1)' -exec 'cleartool descr -fmt "%En\n" "$CLEARCASE_PN"'
注:
- Unix的语法
-
-element '\!lbtype_sub(LABEL_1)'
查找所有元素(文件)没有带有某个标签的版本(因此_sub
与lbtype
查询关联) - fmt是命令的fmt_ccase指令。
- “%En”:元素名称:对于文件系统对象,其标准文件或元素名称或其路径名称;对于一个类型对象,它的名字。
-
"$CLEARCASE_PN"
位于双引号之间,因为它的路径名/文件名中可能有空格。
正如OP's own answer(Luciano)指出,如果你不需要看到所有元素(包括删除的文件),但只有元素目前在视图中可见,-nxname
足够:
cleartool find -cview -nxn -element '\!lbtype_sub(LABEL_1)' -print
我仍然使用-element
代替-version
,因为它是更快,避免无用的重复。
我还是建议在单元级,而不是版本级别进行查询。 – VonC 2010-05-11 04:01:52