usa - ¿Cómo obtengo la última etiqueta clearcase programáticamente de C#?
documentacion de codigo c# (2)
Estoy tratando de poner información de la versión en mi marco de GUI de C # recuperado de la última etiqueta de ClearCase. Esto fue hecho originalmente de Visual Soursafe como a continuación.
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;
}
}
Intento hacer algo similar con ClearCase ya que cambiamos nuestro control de código fuente de VSS a CC. Cualquier ayuda sería muy apreciada.
¡Gracias!
Realmente me gustaría que las interfaces COM tuvieran mejor documentación, o fueran más obvias. O que el código para ClearCase Explorer o Project Explorer era de código abierto.
He hecho algunas cosas interesantes, pero empecé añadiendo referencias COM a mi proyecto C # y luego empecé a jugar con las interfaces que encontré.
¡Buena suerte!
Creo que esto podría lograrse mejor a través de un script, que se llamaría desde su programa C #.
Pero es posible que pueda llamar directamente a algunos objetos COM a través de la interfaz CAL proporcionada con ClearCase.
Se puede acceder a la documentación de la interfaz a través de la ayuda de ClearCase (Inicio> Programas> Rational ClearCase> Ayuda de ClearCase), donde hay una entrada para "ClearCase Automation Library (CAL)". Una ruta alternativa es buscar en el directorio ClearCase / bin para " cc_cal.chm ".
En VB, con CAL API, eso daría algo como:
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