Vous avez besoin, de C#, pour exécuter une commande cleartool
Plus précisément, un descr
avec un format option que l'affichage exactement ce que vous recherchez.
cleartool descr -fmt "%Sn" youFileFullPath
qui renverra une chaîne comme /main/34
, ce qui signifie /branch/version
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo(@"cleartool");
psi.RedirectStandardOutput = true;
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
psi.Arguments = "descr -fmt \"%Sn\" \"" + yourFilePath + "\"";
psi.UseShellExecute = false;
System.Diagnostics.Process monProcess;
monProcess= System.Diagnostics.Process.Start(psi);
System.IO.StreamReader myOutput = monProcess.StandardOutput;
monProcess.WaitForExit();
if (monProcess.HasExited)
{
//la sortie du process est recuperee dans un string
string output = myOutput.ReadToEnd();
MessageBox.Show(output);
}
Note: il est recommandé de toujours utiliser des guillemets doubles autour de votre chemin complet du fichier, dans le cas où ce chemin ou ce nom de fichier comprend des espaces
Comme je l'ai expliqué dans cet autre ClearCase SO question, vous pouvez également utiliser le CAL interface (Objet COM), mais j'ai toujours trouvé cleartool
(l'interface de ligne de commande de base - CLI -) plus fiable surtout quand les choses tournent mal: le message d'erreur est beaucoup plus précis.
Vous pouvez utiliser la bibliothèque COM Clearcase Automation dans C# – Arslan