Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Perl与ClearCase交互?_Perl_Clearcase - Fatal编程技术网

如何从Perl与ClearCase交互?

如何从Perl与ClearCase交互?,perl,clearcase,Perl,Clearcase,我的项目需要使用excel工作表中的Perl脚本从ClearCase数据中提取几样东西,它们是- 通过给出两条特定的时间线或两条基线 该基线内关联的所有活动(列标题“活动”) 所有者id(列标题所有者) 特定活动中关联的所有元素。(列标题-“元素详细信息”) 每个元素的相关版本(列标题-“版本”) 对于每个元素,代码行总数、添加的代码行总数、删除的代码行总数、更改的代码行总数……(列标题“代码行数”、“添加的代码行数”、“删除的代码行数”和“更改的代码行数”) 请在这方面帮助我…基本上,Clea

我的项目需要使用excel工作表中的Perl脚本从ClearCase数据中提取几样东西,它们是-
通过给出两条特定的时间线或两条基线

  • 该基线内关联的所有活动(列标题“活动”)
  • 所有者id(列标题所有者)
  • 特定活动中关联的所有元素。(列标题-“元素详细信息”)
  • 每个元素的相关版本(列标题-“版本”)
  • 对于每个元素,代码行总数、添加的代码行总数、删除的代码行总数、更改的代码行总数……(列标题“代码行数”、“添加的代码行数”、“删除的代码行数”和“更改的代码行数”)

  • 请在这方面帮助我…

    基本上,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