clearcase - 列出 Clearcase 中特定文件/目录的所有分支
问题描述
该命令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
命令。有任何想法吗?
解决方案
cleartool find
实际上,结合使用and的-exec
指令。cleartool describe
-fmt_ccase
或者只是具有相同 fmt_ccase 的 lshistory
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"
OP Derrick在评论中提出了更简单的选项:
cleartool lsvtree aFile | grep -v '\[0-9]\+$'
我仍在寻找一种确定性(无命名假设)的方法来查找特定文件/目录的所有分支
lsvtree
中包含“0”元素的任何条目都是分支。
O
是新分支版本的 placehoster。
请参阅“ Clearcase 路径是否是标准路径 - ' @@
' 和之后的字符串”
示例(在动态视图中):
ls .@@\main\4.6.0
0
ls .@@\main\4.6.0\0
(nothing)
因此\main\4.6.0
是一个分支。
推荐阅读
- java - 如何使用 slf4j 在 java 中制作我自己的库,但使用我的 lib 的代码也会使用 slf4j?
- dax - DAX SUMMARIZECOLUMNS 函数 - 此函数有何用处?
- c# - 由于 PropertyGrid,mahapps metro 对话框打开速度慢的可能原因
- multithreading - 使用多线程 JDBC 创建/更新/插入查询的数据库访问问题
- django - 如何使用 from ..media 在 .py 文件中导入媒体目录
- java - 表中的一列被多个物理列名引用
- xamarin.android - 是否可以在 Xamarin.Android 中将文件复制到 USB 驱动器?
- reactjs - 如何在 React Data Grid 中使用反应钩子执行编辑和过滤选项
- r - 创建数据框R时合并两个列表
- sql-server - 检索共享相同(重复)PrescriptionID 但不同 Antibiotic_Prescribed 的行