Доступ к Changelists исходного депо из C#

Для моего текущего проекта мне нужно сравнить две версии сборки программы и сгенерировать отчет, показывающий, какие файлы были изменены. Моя собственная идея состояла в том, чтобы просмотреть каждый файл, используя файловую систему, сравнивая измененные даты. Тем не менее, было предложено найти списки изменений, хранящиеся в Source Depot, и сравнить их таким образом.

Будучи незнакомым с Source Depot, я смог найти две соответствующие команды - "Changes" и "Changelist". Тем не менее, в документации очень расплывчато объясняется, как использовать команды SD, и ввод чего-то вроде "sd changes 1249191" приводит к ошибкам типа "необходимо создать клиент MGURL" для доступа к локальным файлам ". Другая проблема заключается в том, что даже если бы у меня был этот аспект, выполнение вызова "System.Diagnostics.Process.Start", скорее всего, только выводило бы информацию на консоль и не возвращало мне никаких данных из C#.

Я думаю, что мне действительно нужна библиотека, похожая на Microsoft.TeamFoundation для TFS. Тем не менее, я почти ничего не нашел в Интернете о Source Depot, не говоря уже о способе взаимодействия с ним через C#. У кого-нибудь есть идеи? Вы делали что-то подобное раньше?

2 ответа

Решение

Решение, которое я нашел, было двояким, и это было частично из-за моего собственного исследования инструмента и частично по предложению коллеги.

Во-первых, после пересмотра списка команд sd я обнаружил, что не смотрю на нужные команды, чтобы получить нужную информацию.

Во-вторых, нет никакого способа напрямую взаимодействовать с хранилищем исходного кода, но я могу перенаправить вывод консоли обратно мне, используя RedirectStandardOuput:

Process process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.FileName = "sd.exe";
process.StartInfo.Arguments = string.Format("describe {0}", newChangelist);
process.Start();

// read strings from process.StandardOutput here

process.WaitForExit();

Посетите внутренний веб-сайт инструментов для утилит Source Depot. Там также должен быть внутренний псевдоним электронной почты для вопросов Source Depot, как это...

Другие вопросы по тегам