我正在尝试将版本信息放到从最新的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。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
我相信通过脚本可以更好地实现这一点,该脚本将从您的C#程序中调用。
但您可以通过ClearCase提供的CAL interface直接调用某些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
答案 1 :(得分:0)
我真的希望COM接口有更好的文档,或者更明显。或者ClearCase Explorer或Project Explorer的代码是开源的。
我做了一些很酷的事情,但我几乎开始将COM引用添加到我的C#项目中,然后开始使用我发现的接口。
祝你好运!