Вам нужно, от C#, чтобы выполнить команду cleartool
Более конкретно, descr
с format option только отображаются точно то, что вы после этого.
cleartool descr -fmt "%Sn" youFileFullPath
Это возвращает строку, как /main/34
, означая /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);
}
Примечание: рекомендуется всегда использовать двойные кавычки вокруг вашего файла полный путь, в случае, если путь или что имя файла содержит пробелы
Как я объяснил в этом другом ClearCase SO question, вы можете также использовать CAL interface (COM-объект), но я всегда нашел cleartool
(базовый интерфейс командной строки - более надежный, особенно когда все идет не так: сообщение об ошибке намного точнее.
Вы можете использовать библиотеку COM Clearcase Automation COM в C# – Arslan