如何使用Perl获得无保留的ClearCase检查?

时间:2010-02-25 12:18:41

标签: perl clearcase

我需要以下要求的帮助。

我有一个提取的报告,我曾经在其中获得“修订号”,元素详细信息,版本路径,变更集。

我需要:

  1. 使用Perl脚本为每个修订创建一个临时目录。

  2. 使用每个修订版对每个元素地图进行无保留的检查,并将其放入创建的临时文件夹中。

  3. 我能够创建临时目录(例如 - 用于100个版本号,能够创建100个文件夹)但需要帮助来编写一段代码来执行无保留的结帐(在此创建活动之前,设置活动)每个元素关联使用每个修订并将文件放入特定的创建文件夹中。成功复制后,还要实现撤消取消保存结帐。

    数据就像,

    Revision#       Element                    version_path            changeset
    -------  ---------------------------     ---------------          ------------
    1  C:\views\xyz_mn-11\gahdg\test.java    \main\sdgks-1111_Int\3"  "C:\views\xyz_mn-11 
                                                                   \gahdg\test.java@@\main
                                                                    \sdgks-1111_Int\3"         
    2
    3
    4

    请就此提出一些建议或宝贵意见。

2 个答案:

答案 0 :(得分:2)

从Perl执行外部命令的一种方法是使用system

my $cmd = 'cleartool checkout -unr -nc -out -ver \main\sdgks-1111_Int\3 test.java';
if (system $cmd) {
    die "Error: $cmd";
}

答案 1 :(得分:1)

同时检查问题How can I interact with ClearCase from Perl?,您可以使用CCCmd package在Perl中执行cleartool命令。

CCCmd::ClearToolNoError("cleartool checkout -unr -nc -out -ver \main\sdgks-1111_Int\3 test.java");

但是,在阅读checkout man page后,我不确定这是正确的语法

cleartool checkout -unr -nc -out /my/temp/file -ver test.java@@\main\sdgks-1111_Int\3

更像是这样,使用扩展路径名表单引用正确的版本来结账test.java