基本上,ClearCase Perl 脚本基于系统和cleartool 命令的解析输出。
这些脚本基于cleartool run cmd,例如软件包 CCCcmd http://pastie.org/827197,并使用如下:
use strict;
use Config;
require "path/to/CCCmd.pm";
sub Main
{
my $hostname = CCCmd::RunCmd('hostname');
chomp $hostname;
my $lsview = CCCmd::ClearToolNoError("lsview -l -pro -host $hostname");
return 1;
}
Main() || exit(1);
exit(0);
例如。
因此,一旦您掌握了基本的 Perl 结构,您所需要的就是基于正确的cleartool 命令进行分析fmt_ccase https://publib.boulder.ibm.com/infocenter/cchelp/v7r1m0/topic/com.ibm.rational.clearcase.cc_ref.doc/topics/fmt_ccase.htm指令。
1/ 该基线内关联的所有活动(列标题“活动”)
ct descr -fmt "%[activities]CXp" baseline:aBaseline.xyz@\ideapvob
这将为您提供活动列表(用 ' 分隔),
').
对于每项活动:
2/ Owner's id(列头-Owner)
ct descr -fmt "%u" activity:anActivityName@\ideapvob
3/特定活动中关联的所有元素。 (列标题-“元素详细信息”)
不确定:活动可以列出它们的版本(参见/4),而不是简单地列出它们的元素
4/ 对于每个元素关联的版本(列标题 -“版本”)
对于给定的活动:
ct descr -fmt "%[versions]CQp\n" activity:anActivityName@\ideapvob
5/ 每个元素的代码总行数、添加的代码总行数、删除的代码总行数、更改的代码总行数..(列标题“代码行数”, “添加的代码行”、“删除的代码行”和“更改的代码行”)
这可能相当长,但对于每个版本,您可以计算前一个版本的扩展路径并进行比较。
我建议使用动态视图,因为您可以从那里访问文件的任何版本(而不是快照视图)。