需要帮助从ClearCase流中选择最新的元素版本

时间:2014-02-28 14:22:18

标签: perl clearcase cleartool

我有一个perl脚本,用于将修改后的元素复制到某个文件夹。

我使用以下cleartool命令:

cleartool find . -version "{brtype(Branch) && created_since(28-Feb-2014) && (version(...\\Branch\\LATEST))}

然后我使用perl脚本解析结果,将按照上述日期条件修改的文件复制到指定的文件夹:

foreach $file (@files)
{
    $file =~ s/@@.*$//g;
        if ($file =~ /\.csp$/i) {
    if ( -e $file) { die "$file exists" }; 
    chomp($file);
    $dname=dirname($file);
    $dname=~ s/\///g;
    $dname1=substr($dname,1);
    $dirname="C:\\AutoDeliver" . "$dname1";
    unless(-d $dirname){
    mkpath $dirname or die "cannot create dir";
    }
    copy ("$file",$dirname) or die "File cannot be copied. It may already exist.";
    print STDOUT $file;
    }
}

除了一个之外,每个流都可以正常工作。该一个流仅用于向和从代码传递代码,并且是直接在集成流下的子代。使用我的脚本,我得到所有修改过的元素,但元素的版本错误。复制的所有元素版本与集成流相同。在我看来,由于子流没有创建任何元素版本,并且版本树眼球总是在查看集成流,导致集成版本被复制。我如何避免这种情况,以便从子流中获取版本。 请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

子流将在父流上创建基础基线时引用相同版本的父流,并简单地在子流上重新定位。

在这种情况下,没有必要在该特定分支上运行脚本,因为它总是反映在其父代上创建的版本。


OP comments

  

我在进入我的脚本后现在看到了这个问题。我的脚本是针对动态视图运行的。

     

动态视图保持集成中的元素版本,同时正确更新同一流上的快照视图并显示相同元素的最新版本。
  我认为动态视图会随时更新,并且始终会包含最新内容。

事实上:

  

动态视图设置不正确。
  我刚创建了一个全新的视图,它按预期工作