我知道这个taks的一个尴尬的解决方案是:
ct ls获取文件的完整版本信息但我想ClearCase应该有一个"内置"解决方案来完成这项任务,而不需要任何外部脚本的支持.
如果您碰巧知道任务的"内置"解决方案,请帮助我.
提前致谢.
fmt_ccase 包含各种ClearCase元素的所有格式字符串.
对于文件版本,您可以:
cleartool descr -fmt "%l\n" /path/to/a/version
Run Code Online (Sandbox Code Playgroud)
%l
标签:对于版本,所有附加标签; 否则为null字符串.
标签以逗号分隔的列表输出,括在括号中.每个逗号后面都有
一个<SPACE>字符.变种:
结果可能是:
Labels: (Rel3.1C, Rel3.1D, Rel3.1E)
Labels without commas or parens: Rel3.1C Rel3.1D Rel3.1E
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,你仍然需要解析的结果,但至少可以输出包含仅标签,如:
Rel3.1C Rel3.1D Rel3.1E
Run Code Online (Sandbox Code Playgroud)
onaclov2000添加(来自评论):
唯一的问题是你正在抓取文件特定版本的标签.
鉴于分支等可以存在,我们需要能够在文件上获取所有标签.
如果您使用版本树图形并选择工具 - >"定位",您可以看到附加到该文件的所有标签.
在cleartool中是否有一个通用命令会返回"locate"或"contents"的结果?
lsvtree当您单击"标签名称"时,(图形版本树)会显示视图当前所见元素的所有版本的标签
话虽如此,似乎没有"内置"解决方案,并涉及一些解析:
例如(比OP版本略短但仍基于a cleartool ls):
ct ls -l addon.xml@@|grep version|gawk "{gsub(/^version.*@@\\\\/,\"\",$0) ; gsub(/ \ [.*/,\"\",$0); print $0}"
Run Code Online (Sandbox Code Playgroud)
(GnuWin32语法)
或者,只有动态视图:
cd m:/myView/path/to/addon.xml@@
# list all files, not directories: the files are the labels
dir /B /A-D
Run Code Online (Sandbox Code Playgroud)