我想通过脚本获取文件的clearcase版本。这可能吗?
谢谢。
答案 0 :(得分:4)
获取文件版本的最可靠方法是:
cleartool
' fmt_ccase
命令的 cleartool describe
选项相结合。cleartool descr -fmt "%Vn" myFile
这样,不需要解析任何问题:如果这是一个版本化文件,结果将不是空的。
cleartool descr -fmt "\tElement: %-13.13En Version: %Vn\n" util.c
Element: util.c Version: /main/rel2_bugfix/1
注意:如果文件是CHECKEDOUT,您可能希望将选项-pred
(前任)添加到descr
命令:
ct descr -fmt "%Vn" .project
\main\MyProject_Int\MyProject_Dev\CHECKEDOUT
ct descr -pred -fmt "%Vn" .project
\main\MyProject_Int\MyProject_Dev\CHECKEDOUT predecessor version: \main\MyProject_Int\MyProject_Dev\4
或只使用%PVn
(结果相同,但不涉及解析)
ct descr -fmt "%PVn" .project
\main\MyProject_Int\MyProject_Dev\4
答案 1 :(得分:1)
我想每个人都会同意有很多方法可以获得你想要的输出。我没有使用GUI来保存findmerge中所有合并文件的列表,而是运行cleartool'find'命令来获取我需要的内容,然后将输出端口移植到另一个命令中以自动标记每个。
例如:
cleartool发现。 -user -version“{brtype(branch-name)&& created_since(date)&&(!version(/ main / branch-name / 0))} - print
以上命令将查找在特定日期(fmt:1-Jan-10或1-Jan)创建的特定用户在分支上创建的所有版本,并且不是零版本。如果你想要的话,你实际上可以放入日期范围。按原样,当前命令也将返回当前CHECKEDOUT的那些文件。要从输出中删除它,请在-print:|之后添加以下内容grep -v CHECKEDOUT。
你可以使用命令来找到你想要的完全匹配,但上面的内容将为你提供一个坚实的基础。
答案 2 :(得分:1)
cleartool describe -short -predecessor <filename>
答案 3 :(得分:0)
我不确定您使用的是哪种脚本语言,但您始终可以调用系统命令cleartool ls <filename>
,然后解析输出以获取版本。