来自CI触发器的文件的Clearcase BASE url

时间:2014-11-12 08:44:34

标签: triggers clearcase

我有一个文件foo.c,我很快就想要访问它的BASE版本。我该怎么办?

例如我有foo.c@@/main/2

$ENV{'CLEARCASE_PN'}为我提供了当前文件路径:L:/user/vob/dir/foo.c

$ENV{'CLEARCASE_XPN'}为我提供了下一个版本号L:/user/vob/dir/foo.c@@/main/3

如何在当前视图foo.c@@/main/2上快速打开当前基本版本?

1 个答案:

答案 0 :(得分:1)

$ENV{'CLEARCASE_XPN'}应该为您提供当前版本所选的扩展路径名,而不是“下一个”版本。

此处“base”用于CI触发器允许创建新触发器之前的当前版本。

在这种情况下,cleartool descr -l $ ENV {'CLEARCASE_PN'}仍应显示当前视图foo.c@@/main/2选择的那个。

如果没有,使用“-pred”会有所帮助(获取以前的版本):cleartool descr -pred -l $ENV{'CLEARCASE_PN'}

OP coin确认in the comments

my $desc = 'cleartool descr $ENV{'CLEARCASE_PN'}'; 
if($desc =~ /predecessor version:\s*(.+)$/) { 
    die "Predecessor: $ENV{'CLEARCASE_PN'}\@\@$1"; 
}

“base”可以解释为合并的基础贡献者版本(参见“How to perform a 'merge' using clearcase?”)

在这种情况下,您可以查看:

  • cleartool findmerge -print,可列出需要合并的版本的名称。默认列表包括to-versions和from-versions的版本ID以及基础贡献者(common ancestor)的版本ID
  • cleartool describe -anc,它能够描述所有pname参数的最接近的共同祖先版本。