脚本以clearcase格式获取文件版本

时间:2010-12-15 06:05:02

标签: clearcase

我想通过脚本获取文件的clearcase版本。这可能吗?

谢谢。

4 个答案:

答案 0 :(得分:4)

获取文件版本的最可靠方法是:

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>,然后解析输出以获取版本。