如何在没有完全合格版本的情况下列出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

+0

我还是建议在单元级,而不是版本级别进行查询。 – VonC 2010-05-11 04:01:52

您可以结合,如果需要用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)'查找所有元素(文件)没有带有某个标签的版本(因此_sublbtype查询关联)
  • fmt是命令的fmt_ccase指令。
  • “%En”:元素名称:对于文件系统对象,其标准文件或元素名称或其路径名称;对于一个类型对象,它的名字。
  • "$CLEARCASE_PN"位于双引号之间,因为它的路径名/文件名中可能有空格。

正如OP's own answerLuciano)指出,如果你不需要看到所有元素(包括删除的文件),但只有元素目前在视图中可见,-nxname足够:

cleartool find -cview -nxn -element '\!lbtype_sub(LABEL_1)' -print 

我仍然使用-element代替-version,因为它是更快,避免无用的重复。