在Clearcase中列出特定文件/目录的所有分支

在Clearcase中列出特定文件/目录的所有分支,clearcase,cleartool,Clearcase,Cleartool,命令cleartool lsvtree-s.已关闭,但它列出的不仅仅是分支: X:\main_dev\common>cleartool lsvtree -s . .@@\main .@@\main\2 .@@\main\3 .@@\main\4 .@@\main\10 .@@\main\2.1.3 .@@\main\2.1.3\1 .@@\main\13 .@@\main\3.0.2 .@@\main\3.0.2\0 .@@\main\15 .@@\main\4.1.0 .@@\main\

命令
cleartool lsvtree-s.
已关闭,但它列出的不仅仅是分支:

X:\main_dev\common>cleartool lsvtree -s .
.@@\main
.@@\main\2
.@@\main\3
.@@\main\4
.@@\main\10
.@@\main\2.1.3
.@@\main\2.1.3\1
.@@\main\13
.@@\main\3.0.2
.@@\main\3.0.2\0
.@@\main\15
.@@\main\4.1.0
.@@\main\4.1.0\0
.@@\main\17
.@@\main\4.2.0
.@@\main\4.2.0\0
.@@\main\4.5.0
.@@\main\4.5.0\0
.@@\main\20
.@@\main\lib-4.6.0
.@@\main\lib-4.6.0\0
.@@\main\27
.@@\main\4.6.0
.@@\main\4.6.0\0
.@@\main\4.6.0\4.6.01
.@@\main\4.6.0\4.6.01\0
我希望它只产生分支,比如:

X:\main_dev\common>cleartool lsvtree -s .
.@@\main
.@@\main\2.1.3
.@@\main\3.0.2
.@@\main\4.1.0
.@@\main\4.2.0
.@@\main\4.5.0
.@@\main\lib-4.6.0
.@@\main\4.6.0\4.6.01
我猜解决方案将涉及
cleartool find
命令。 有什么想法吗?

事实上,结合使用and的
-exec
指令

或者只是用同样的fmt_ccase记录历史

cleartool  lshistory -fmt "\tElement: %-13.13En Version: %Vn\n" util.c
Element: util.c Version: /main/rel2_bugfix/1
Element: util.c Version: /main/rel2_bugfix/0
Element: util.c Version: /main/rel2_bugfix 
不过,这仍然包括该版本:您需要对结果进行后期处理,以便在最终的
/x
版本存在时将其删除

比如:

cleartool  lshistory -fmt "%Vn\n" util.c|sed "s,/[0-9]\+,,g"
委员会在评论中提议:

我仍然在寻找一种确定性(无命名假设)方法来查找特定文件/目录的所有分支

lsvtree
中任何包含“0”元素的条目都是分支。
O
是最新版本。
见“

示例(在动态视图中):

因此
\main\4.6.0
是一个分支。

事实上,与使用and的
-exec
指令结合使用

或者只是用同样的fmt_ccase记录历史

cleartool  lshistory -fmt "\tElement: %-13.13En Version: %Vn\n" util.c
Element: util.c Version: /main/rel2_bugfix/1
Element: util.c Version: /main/rel2_bugfix/0
Element: util.c Version: /main/rel2_bugfix 
不过,这仍然包括该版本:您需要对结果进行后期处理,以便在最终的
/x
版本存在时将其删除

比如:

cleartool  lshistory -fmt "%Vn\n" util.c|sed "s,/[0-9]\+,,g"
委员会在评论中提议:

我仍然在寻找一种确定性(无命名假设)方法来查找特定文件/目录的所有分支

lsvtree
中任何包含“0”元素的条目都是分支。
O
是最新版本。
见“

示例(在动态视图中):


因此
\main\4.6.0
是一个分支。

谢谢。lsvtree似乎比lshistory好,因为它只包含那些应用于此文件的entries。此外,sed不会消除非分支条目。我能想到的任何sed都会对非数字分支命名进行假设。“查找”解决方案可能有效,但缺少详细信息。@历史记录也仅适用于指定的文件。sed将删除非数字分支。有数字分支吗?@Derrick find+Descripte示例:。但是没有一个fmt_ccase选项只提供分支路径。它只提供完整的扩展路径名,包括最终版本。数字分支为“是”。同样,在我的例子中,lshistory给出的结果比lsvtree多得多:`>cleartool lshistory-fmt“%Vn\n”wc 568 558 7602>cleartool lsvtree-s.|wc 54 991>“@Derrick 4.2.0不是数字,不会被过滤掉。谢谢。lsvtree似乎比lshistory好,因为它只包含那些应用于此文件的entries。此外,sed不会消除非分支条目。我能想到的任何sed都会对非数字分支命名进行假设。“查找”解决方案可能有效,但缺少详细信息。@历史记录也仅适用于指定的文件。sed将删除非数字分支。有数字分支吗?@Derrick find+Descripte示例:。但是没有一个fmt_ccase选项只提供分支路径。它只提供完整的扩展路径名,包括最终版本。数字分支为“是”。同样,在我的例子中,lshistory给出的结果比lsvtree多得多:`>cleartool lshistory-fmt“%Vn\n”wc 568 558 7602>cleartool lsvtree-s.|wc 54 991>“@Derrick 4.2.0不是数字,不会被过滤掉。