2011-03-17 129 views
3

由于ClearCase在创建内部文件时更新目录版本号,因此我们的config-spec生成脚本失败(详情略)。如何确定给定文件版本的ClearCase目录版本?

作为一个例子,给定一个像“/proj/src/scripts/[email protected]@/main/branch42/3”这样的文件,我们如何确定包含该文件的最新版本的scripts目录build.sh文件的版本。

注意:我们正在寻找可以编写脚本的unix命令行解决方案。

回答

2

如果你做了ls /proj/src/[email protected]@/main/branch42/*/build.sh/main/branch42/3你应该得到scripts目录的所有版本的列表,其中包含.../3build.sh版本。那么你应该能够挑选出最新的那些。

上面可能不是一个傻瓜证明的方式,所以你可以尝试更多的东西一样

cleartool find /proj/src/scripts --allversions --nonvisible -name build.sh -version 'brtype(branch42) && version(3)' -print 

(我不再有一个ClearCase环境中测试中,所以上面是从内存中,而不是一个准确的命令)

+0

“ls”命令完成这项工作。我们看到类似的东西,但被输出困惑 - 在所有目录版本上有多个文件版本。现在我们已经知道这是怎么回事,我们都很好。谢谢。 – belwood

1

另一种方法是:

  • 设置在build.sh脚本的正确版本的标签和它的目录(你可以在需要的时候把该标签)
  • 有第二个动态视图总是配置为选择标签
 
    element * SCRIPT_LABEL 
    element /proj/... .../branch42/LATEST 

这样,你只需看你从第二动态视图所需要的信息。

+0

谢谢。标签受到严格的变更控制(gov),但第二个动态视图比更新笨拙的脚本更清晰。我已经提出了一个请求。 – belwood