如何以编程方式从C#中获取最新的clearcase标签

本文关键字:最新 获取 clearcase 标签 编程 方式 | 更新日期: 2023-09-27 17:48:49

我正试图将版本信息放入从最新ClearCase标签检索到的C#GUI框架中。这最初是由Visual Soursafe完成的,如下所示。

vssDB = new VSSDatabaseClass();
vssDB.Open( databaseName, "vssadmin", "vssadmin" );
VSSItem item = vssDB.get_VSSItem( @"$'BuildDCP.bat", false );
foreach(VSSVersion vssVersion in item.get_Versions(0))
{
  // Pull the first non-blank label and use that
  if ( vssVersion.Label != "" )
  {
    labelID = vssVersion.Label.ToString();
    break;
  }
}

我正在尝试使用ClearCase做一些类似的事情,因为我们将源代码控制从VSS更改为CC。任何帮助都将不胜感激。

谢谢!

如何以编程方式从C#中获取最新的clearcase标签

我相信通过脚本可以更好地实现这一点,该脚本将从C#程序中调用。

但是您可以通过ClearCase提供的CAL接口直接调用一些COM对象。

界面的文档可以通过ClearCase帮助(开始>程序>Rational ClearCase>ClearCase帮助)访问,其中有一个"ClearCase自动化库(CAL)"条目。另一个路径是在ClearCase/bin目录中查找"cc_cal.chm"。

在VB中,使用CAL API,这将给出类似以下内容:

Dim CC As New ClearCase.Application 
Dim labelID As String
Set aVersion = CC.Version("[Path-To]'BuildDCP.bat");
Set someLabels = Ver.Labels;
If (someLabels.Count > 0) Then 
    ' the first label listed is the most recently applied
    labelID = someLabels.Item(1).Type.Name
EndIf

我真的希望COM接口有更好的文档,或者更明显。或者ClearCase Explorer或Project Explorer的代码是开源的。

我已经做了一些很酷的事情,但我基本上是从向C#项目添加COM引用开始的,然后开始摆弄我找到的接口。

祝你好运!