情况就是这样。
我们说我有一个文件," foo.cpp"。 它的父目录是/ path / to / foo /。
所以,foo.cpp仅存在于:
/vobs/myvob/path/to/foo@@/main/release/2/foo.cpp@@/main/release/some-branch/{versions}
其中 {versions} 是foo.cpp的几个版本,例如1,2,3,LATEST。
我的配置规范非常通用,因为我的脚本需要解析数百个不同的分支才能找到某些版本的文件:
element * CHECKEDOUT
element * /main/release/LATEST
element * /main/LATEST
很清楚,
ct find . -name 'foo.cpp' -print
在分支上找不到foo.cpp" some-branch"。
我试过了:
ct find . -a -nvi -name 'foo.cpp' -branch 'brtype(some-branch)' -print
ct find . -a -nvi -name 'foo.cpp' -print | grep some-branch
ct find . -a -nvi -name '*' | grep foo.cpp
这些都没有找到foo.cpp。
有什么想法吗?可以以任何方式修改我的配置规范以使其更容易吗?
答案 0 :(得分:1)
来自“Additional examples of the cleartool find command”:
cleartool find
命令用于定位VOB中的ClearCase对象,不受视图配置规范(配置规范)的限制。
确保使用动态视图。
ct find . -a -nvis -name 'foo.cpp' -ver 'brtype(some-branch)' -print
# or:
ct find . -nvis -name 'foo.cpp' -ver 'brtype(some-branch)' -print
选项-ver
是必需的,以便查找和列出版本。
答案 1 :(得分:0)
如果您100%确定该文件位于/ vobs / myvob / path / to / foo @@ / main / release / 2,则可以修改配置规范
element * CHECKEDOUT
element /vobs/myvob/path/to/foo /main/release/2
element * /main/release/LATEST
element * /main/LATEST
然后,按上述方法执行搜索。然后,您将不需要-nvi选项,因为您将在可以看到对象的视图中。
考虑到你想要一个通用答案,我会建议使用以下命令
cleartool find -all -name "foo.cpp" -version 'brtype(some-branch)' -print
除非您只想列出视图中不可见的版本,否则请勿使用-nvi选项。