У меня есть настольное приложение для изменения некоторых XML-файлов, находящихся под управлением исходного кода. Программа должна иметь возможность получать файлы, изменять их и выполнять регистрацию. Я уже знаю, как сделать все это с tf; однако я не знаю, как запустить командную строку разработчика для Visual Studio с помощью кода. Также программа будет установлена на компьютеры без Visual Studio; поэтому у них нигде не будет команды tf. Принимая во внимание все это, как лучше всего выполнить следующие команды?
mkdir C:\Temp\PROGRAM
cd C:\Temp\PROGRAM && tf workspace /new /noprompt PROGRAM /collection:"http://myserver:8080/tfs/mycollection"
cd C:\Temp\PROGRAM && tf workfold /map $/my/server/route/to/map C:\Temp\PROGRAM
cd C:\Temp\PROGRAM && tf get
Я знаю, что есть некоторые библиотеки для работы с tfvc, но я ими не пользовался и они не кажутся такими понятными, как запуск команд. Любое решение, которому удастся сделать то же самое, что и приведенные выше команды, будет приветствоваться.
- Создать рабочее пространство
- Сопоставьте папку с сервера с локальной папкой
- Загрузите (извлеките) все файлы в этой папке (не обязательно рекурсивно)
Если есть возможность включить в решение:
- Сделать регистрацию измененных файлов
ИЗМЕНИТЬ
Код, который я наконец использовал, это
static void Load(string local, string server, Uri urlCollection)
{
Directory.CreateDirectory(local);
Workspace workspace = GetWorkspace(urlCollection, "MyWorkspaceName");
workspace.Map(server, local);
workspace.Get();
}
static Workspace GetWorkspace(Uri urlCollection, string name)
{
VersionControlServer vcs = new TfsTeamProjectCollection(urlCollection)
.GetService<VersionControlServer>();
try
{ return vcs.GetWorkspace(name, vcs.AuthorizedUser))}
catch(Exception)
{ return vcs.CreateWorkspace(name, vcs.AuthorizedUser)); }
}