Получить метки, примененные к определенной версии элемента в системе контроля версий TFS - PullRequest
2 голосов
/ 14 марта 2009

Я пытаюсь получить список меток, которые применяются к определенной версии определенного файла в TFS Source Control. До сих пор я получил набор меток, применимых к любой версии конкретного файла. У кого-нибудь есть опыт получения ярлыков для конкретного предмета?

Например, у меня есть $ / Project / Folder / Item.cs, который был изменен в наборах изменений 301, 401 и 601. Для проекта существуют метки Build1 - Build 99. Build1 - Build10 были применены до набора изменений 301 (т.е. до создания Item.cs). Build96 - Build99 были применены к v601 Item.cs. Если я бегу

vcServer.QueryLabels(null, "$/Project", null, false, "$/Project/Folder/Item.cs", new ChangesetVersionSpec(6)) 

В результате я получаю Build11 - Build99. Я не понял, как заставить запрос возвращать меньше, чем столько ярлыков. В идеале, мой запрос вернет 4 метки (Build96 - Build 99).

Контекст этого вопроса - проект TFS с CCNET для сервера сборки. Я пытаюсь связать рабочие элементы со сборками, начиная с номера рабочего элемента.

Какие-нибудь советы? Или примеры QueryLabels? Или лучше документы для QueryLabels, чем документы MSDN ?

Ответы [ 3 ]

2 голосов
/ 01 декабря 2010

Это возможно, см. Здесь: http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/9f41f37e-4fda-4b56-91a3-f2b7e0c0e22d

По сути, как только вы вернетесь к списку меток, вы должны просмотреть каждую метку и посмотреть, к какому изменится набор изменений интересующего вас элемента. Обязательно передайте флаг "includeItems = false" QueryLabels, в противном случае вам придется просматривать каждый элемент на ярлыке.

1 голос
/ 16 марта 2009

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

Для получения дополнительной информации о том, что, по вашему мнению, вы хотите сделать, посмотрите на:

а также

Надеюсь, это поможет.

Martin.

0 голосов
/ 14 марта 2009

Похоже, что невозможно в текущей версии TFS, но может быть в следующей.

...