【问题标题】:How do I list Clearcase versions without the Fully-qualified verison?如何列出没有完全限定版本的 Clearcase 版本?
【发布时间】:2010-05-11 14:02:40
【问题描述】:

在透明盒中: 我正在尝试在当前视图中查找所有文件的名称,但没有特定标签。到目前为止,我想出了以下几点:

cleartool find -cview -all -version '\!lbtype(LABEL_1)' -print

但这最终会显示带有“@@/main/BRANCH1/SUBBRANCH”的文件名,我真的只想要文件名。

我已尝试添加 -short,但 find 命令不喜欢该选项,并且我在手册中找不到更改行为的选项。

【问题讨论】:

    标签: clearcase


    【解决方案1】:

    找到了:

    --nxname
    从每个选定对象的名称中删除扩展命名符号(默认为 @@)和任何后续版本 ID 或分支路径名。从此转换产生的重复名称将被抑制。实际上,此选项将扩展名称转换为标准操作系统名称;它还将分支或版本的名称转换为元素的名称。

    所以

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

    打印当前视图和目录(和子目录)中不带标签 LABEL_1 的所有文件

    【讨论】:

    • 我仍然建议在元素级别进行查询,而不是版本级别。
    【解决方案2】:

    如果需要,您可以将 find 与 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 是 describe 命令的 fmt_ccase 指令。
    • “%En”:元素名称:对于文件系统对象,它的标准文件或元素名称,或者它的路径名;对于类型对象,它的名称。
    • "$CLEARCASE_PN" 位于双引号之间,因为它的路径名/文件名中可能有空格。

    OP's own answer (Luciano) 中所述,如果您不需要查看所有 元素(包括已删除的元素),而只需要查看当前在视图中可见的元素,-nxname就够了:

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

    我仍然使用-element 而不是-version,因为它更快并且避免了无用的重复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多