如何从Perl与ClearCase交互?
我的项目需要使用excel工作表中的Perl脚本从ClearCase数据中提取几样东西,它们是-如何从Perl与ClearCase交互?,perl,clearcase,Perl,Clearcase,我的项目需要使用excel工作表中的Perl脚本从ClearCase数据中提取几样东西,它们是- 通过给出两条特定的时间线或两条基线 该基线内关联的所有活动(列标题“活动”) 所有者id(列标题所有者) 特定活动中关联的所有元素。(列标题-“元素详细信息”) 每个元素的相关版本(列标题-“版本”) 对于每个元素,代码行总数、添加的代码行总数、删除的代码行总数、更改的代码行总数……(列标题“代码行数”、“添加的代码行数”、“删除的代码行数”和“更改的代码行数”) 请在这方面帮助我…基本上,Clea
通过给出两条特定的时间线或两条基线
请在这方面帮助我…基本上,ClearCase Perl脚本基于系统和cleartool命令的解析输出 脚本基于cleartool运行cmd,如,使用方式如下:
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命令
1/该基线内相关的所有活动(列标题“活动”)
这将为您提供活动列表(以“,
”分隔)
对于每项活动:
ct descr -fmt "%[versions]CQp\n" activity:anActivityName@\ideapvob
2/所有者id(列标题所有者)
3/特定活动中关联的所有元素。(列标题-“元素详细信息”)
不确定:活动可以列出它们的版本(参见/4),而不容易列出它们的元素
4/每个元素的相关版本(列标题-“版本”)
对于给定的活动:
ct descr -fmt "%[versions]CQp\n" activity:anActivityName@\ideapvob
5/每个元素的代码行总数、添加代码行总数、删除代码行总数、更改代码行总数……(列标题“代码行数”、“添加代码行数”、“删除代码行数”和“更改代码行数”)
这可能相当长,但对于每个版本,您都可以计算上一个版本的扩展路径并进行区分
我建议使用动态视图,因为您可以从那里访问文件的任何版本(与快照视图相反)。如果您需要将perl与Clearcase结合使用,请查看CPAN模块。我建议使用这个perl模块来调用clearcase命令。对于CCCmd包,我必须删除RunCmd和RunCmdNoError子包中的双引号才能使其工作
ct descr -fmt "%[versions]CQp\n" activity:anActivityName@\ideapvob