【问题标题】:Get ClearCase Snapshot Views via ClearCase Automation Library (CAL)?通过 ClearCase 自动化库 (CAL) 获取 ClearCase 快照视图?
【发布时间】:2010-11-14 16:40:13
【问题描述】:

是否有人成功使用 ClearCase 自动化库 (CAL) 来检索快照视图?我可以很好地获得所有动态视图,但我的快照视图中没有一个出现在“Connection.get_Views(true, region);”中命令...

有没有办法以编程方式将这些作为 ICCView 实例?

【问题讨论】:

  • 答案已更新,带有 ccperl 脚本

标签: clearcase cal ibm-rational


【解决方案1】:

怎么样:

Dim CC As New ClearCase.Application 
CC.Views(true, myRegionName)

它应该获取指定区域中的视图集合,包括快照视图。
(注意:这可能与您在问题中提出的类似,但使用更准确的 CAL 语法)

例如,我确实确认以下 ccperl 脚本确实返回了快照和动态视图:

输入“ccperl listViews.pl”,提供:

  • 您确实将下一行保存在名为“listViewws.pl”的文件中。
  • 您将“myRegionName”替换为您当前的 ClearCase 区域
  • 您使用的区域与脚本中的区域相同。

脚本:

use Win32::OLE;
$DEBUG = 1;

print "Instantiating CAL CC\n" if $DEBUG;
my $cal_cc = Win32::OLE->new('ClearCase.Application')
or die "Could not create the ClearCase Application object\n";

$cclsview = $cal_cc->Views("False","myRegionName");
$Views_Entries = $cclsview->Count;
print "nbViews $Views_Entries\n";
$Views_Index = 1;
while ($Views_Index <= $Views_Entries) {
    print "Processing View entry $CS_Index\n" if $DEBUG;
    $View = $cclsview->Item($Views_Index);
    $ViewName = $View->TagName;
    $ViewIsSnapshot = $View->IsSnapShot;
    print "View $ViewName $ViewIsSnapshot\n";
    $Views_Index++;
}

【讨论】:

  • Argh,它确实可以正常工作(检索动态和快照视图)...但问题是我创建了一个名称/标签为“abc_someview”的视图,出于某种原因,该视图是此后命名为'username_abc_someview'..这就是为什么我在使用原始名称创建后无法检索它的原因。不过谢谢!
  • @Jörg:可能是因为您使用的是 GUI 或自定义脚本,并且它强制使用用户名作为前缀的视图名称?我更喜欢旧的'ct mkview -tag myViewTag -stg myViewStorage'(如果这是用于快照视图,还可以选择其他选项):至少我确定名称;)
  • @Jörg B. VonC 是对的.. 当您从 GUI 创建视图时,检查“高级选项”,您将能够看到 usernameabc_someview 为前缀
猜你喜欢
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多