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

我试图将版本信息放到从最新的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提供的CAL接口直接调用某些COM对象。

可以通过ClearCase帮助(“开始”>“程序”>“Rational ClearCase”>“ClearCase帮助”)访问该界面的文档,其中有“ClearCase Automation Library(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引用,然后开始搞砸我找到的接口。

祝好运!