Team Foundation Server API перемещать файлы - PullRequest
2 голосов
/ 06 июня 2011

Я хочу переместить файл tfs из одного места в другое на сервере.

Процесс будет:

С учетом имени сервера и проекта - открыть подпапку папки проекта и скопировать файлы в другое место.

Я рассмотрел множество различных примеров, некоторые используют объект tfscollection, некоторые рабочие пространства и т. Д. И т. Д. Будучи новичком в API tfs, я немного запутался.

Может кто-нибудь предоставить пример кода для этого (я использую против 2010)?

Код, который у меня пока есть:

NetworkCredential tfsCredential = new NetworkCredential("username", "password");
tfsCredential.Domain = "dsi";

TfsConfigurationServer server = new TfsConfigurationServer(new Uri("http://tfs.domain.com:8080/tfs"), tfsCredential);
server.Authenticate();
VersionControlServer vcserver = server.GetService(typeof(VersionControlServer)) as VersionControlServer;

1 Ответ

1 голос
/ 07 июня 2011

Вам необходимо использовать класс Workspace для этого типа работы.Если у вас есть существующее рабочее пространство, вы можете получить свой экземпляр Workspace из экземпляра VersionControlServer, который у вас уже был.Если нет, вам нужно создать новое временное рабочее пространство, а затем загрузить файлы, необходимые для внесения изменений в это временное рабочее пространство, с помощью одного из методов Get () класса Workspace.

Я не уверенВы хотите переместить или скопировать файлы.Чтобы переместить файлы, используйте один из методов PendRename () класса Workspace.Я не вижу рекурсивного флага для этого метода, поэтому вам, вероятно, придется выполнить рекурсию самостоятельно и PendRename () для файлов, которые вы хотите переместить.Это добавит файлы в список ожидающих изменений.

Чтобы скопировать файлы, сначала вам нужно будет сделать локальные копии файлов в рабочей области, а затем использовать один из методов PendAdd () для добавленияновые файлы в списке ожидающих изменений в вашем рабочем пространстве.

Наконец, вы можете получить список ожидающих изменений с помощью GetPendingChanges (), а затем выполнить проверку, используя Checkin ().

Всеэти методы относятся к классу Workspace .

...