Comment obtenir la dernière étiquette clearcase par programme à partir de C #?

StackOverflow https://stackoverflow.com/questions/268595

  •  06-07-2019
  •  | 
  •  

Question

J'essaie de placer les informations de version dans mon infrastructure d'interface graphique C # extraite de la dernière étiquette ClearCase. Cela a été fait à partir de Visual Soursafe comme ci-dessous.

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;
  }
}

J'essaie de faire quelque chose de similaire avec ClearCase depuis que nous avons modifié notre contrôle de code source de VSS en CC. Toute aide serait grandement appréciée.

Merci!

Était-ce utile?

La solution

Je pense que cela pourrait être mieux réalisé grâce à un script appelé par votre programme C #.

Mais vous pourrez peut-être appeler directement certains objets COM, via le interface CAL fournie avec ClearCase.

Vous pouvez accéder à la documentation de l'interface via l'aide de ClearCase (Démarrer> Programmes> de Rational ClearCase> Aide de ClearCase), qui contient une entrée pour "ClearCase Automation Library (CAL)". Un autre chemin consiste à rechercher dans le répertoire ClearCase / bin « cc_cal.chm ».

En VB, avec une API CAL, cela donnerait quelque chose comme:

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

Autres conseils

Je souhaite vraiment que les interfaces COM disposent d’une meilleure documentation ou soient plus évidentes. Ou que le code de ClearCase Explorer ou de l'Explorateur de projets était à code source ouvert.

J'ai fait quelques choses intéressantes, mais j'ai plutôt bien commencé par ajouter des références COM à mon projet C #, puis j'ai commencé à faire des calculs avec les interfaces que j'ai trouvées.

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top