2

所以我在工作中编写一个脚本,我必须通过 ClearCase vob 中的所有项目,查找一个文件并从所述文件中解析一些信息。
自然,我不想加载每个项目,所以我使用 cleartool 来检索卸载的文件。
首先,我使用 find 命令来定位文件。这是我的第一次尝试:

root>cleartool find C:/viewpath -name file.txt -version "lbtype(Version-label)" -print -nr

Viewpath 是我当前正在查找文件的项目的路径。我要查找的文件位于file.txtVersion-label 指定的版本上。
这给了我任何结果,即使我知道file.txt那个版本存在。
我发现它正在查看旧版本的目录,主分支上的最新版本,这是之前file.txt添加到目录中的。我尝试了这个:

root>cleartool find C:/viewpath@@/Version-label -name file.txt -version "lbtype(Version-label)" -print -nr

得到了这个结果,这就是我想要的

C:/viewpath\file.txt@@\main\branch\41

所以现在我知道在哪里可以找到我试图获取的文件。

root>cleartool get -to savepath C:/viewpath\file.txt@@\main\branch\41

这给了我这个结果

cleartool: Error: "C:/viewpath\file.txt@@\main\branch\41" does not exist, or is not a ClearCase version, or is a checked out version which was removed.

也试过

root>cleartool get -to savepath C:/viewpath\file.txt@@/Version-label

结果相同

当它仍在主分支上时,我可以将文件添加到目录中,因此它仍在搜索主分支上的目录,file.txt无处可寻。
我如何告诉它从主目录分支后查看目录的版本?

4

1 回答 1

2

我真的建议您在动态视图中尝试这些相同的命令。
如此处所示,动态视图使您可以访问扩展路径file@@/branch/version语法),这意味着类似命令get将起作用。
您在这个问题cleartool find中有一个使用扩展路径进行搜索 ( ) 的示例。

如“在 ClearCase 中,如何从命令行以静态视图查看文件的旧版本? ”中所述,您可以在动态中浏览(如在“将目录更改为”中)文件的各种扩展路径看法。

于 2011-08-26T13:23:38.150 回答