API клиента C# TFS - получить все наборы изменений элемента
Клиент Microsoft TFS для VS 2010:
- У меня (т.е. мой код) есть набор изменений.
- Я перехожу к конкретному Изменению.
- У меня есть пункт в замене.
Теперь я хочу получить все наборы изменений, которые имели изменения для этого элемента.
Может ли кто-нибудь посоветовать мне лучший способ сделать это?
Я мог бы перебрать все наборы изменений соответствующей ветви, что было бы очень неэффективно.
1 ответ
Эдвард прав. И у него есть полномочия, чтобы поддержать это. (См. Описание его профиля) VersionControlServer.QueryHistory - метод, который вам нужно использовать. Есть несколько способов его использования, и я только опишу один из них, который предполагает, что путь к серверу для этого элемента важен для вас...
Во-первых, вам нужен путь к серверу Item:
string serverPath = Item.ServerItem;
Далее, если у вас еще нет экземпляра объекта VersionControlServer, вы можете получить его из вашего TeamProject следующим образом:
VersionControlServer VCServer = (VersionControlServer)this.TeamProject.Store.TeamProjectCollection.GetService(typeof(VersionControlServer));
Используйте метод VersionControlServer QueryHistory(string, boolean) для получения других наборов изменений, связанных с этим путем к серверу:
VCServer.QueryHistory(serverPath, false);