2013-09-17 1 views
1

Microsoft TFS клиента для VS 2010:TFS клиент C# API - получить все ревизии от Элемента

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.item(v=vs.100).aspx

  • I (т.е. мой код) есть изменение.
  • Я перехожу к конкретному изменению.
  • У меня есть предмет в Изменить.

Теперь я хочу получить все Изменения, которые имели Изменения для этого элемента.

Может ли кто-нибудь посоветовать мне лучший способ сделать это?

Я мог бы перебирать все изменения в соответствующей ветке, что было бы очень неэффективно.

+0

Посмотрите это. Он не получает желаемого результата, но может помочь: http://social.msdn.microsoft.com/Forums/vstudio/en-US/7ad1d963-a172-47e5-a1eb-bd77c1c58731/programmatically-get-list -of-changesets-for-a-specific-team-project – Dilshod

+2

'QueryHistory' на пути, о котором идет речь? –

ответ

5

Эдвард прав. И у него есть верительные грамоты, чтобы поддержать это. (См. Его описание профиля) VersionControlServer.QueryHistory - это метод, который вам нужно использовать. Есть several ways использовать его, и я только один с описанием ниже которой предполагается, что путь к серверу этого элемента является то, что важно для вас ...

Первое, что вам нужно путь серверную Пункт:

string serverPath = Item.ServerItem; 

Далее, если вы уже не имеете объект VersionControlServer экземпляр, вы можете получить один из вашего TeamProject, как это:

VersionControlServer VCServer = (VersionControlServer)this.TeamProject.Store.TeamProjectCollection.GetService(typeof(VersionControlServer)); 

Используйте VersionControlServer QueryHistory (строка, логическое) метод, чтобы получить другие связанные наборы изменений с этим rver путь:

VCServer.QueryHistory(serverPath, false); 
+1

Это позволит получить элементы, которые существуют по указанному пути в настоящее время (и дети этого пути). Он не получит ни одного элемента в предыдущих наборах изменений. –

+0

Спасибо. Эдвард прав. Я исправил ответ, чтобы использовать Историю запросов, как он предложил выше. –

Смежные вопросы