2009-03-13 1 views
2

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

Например, у меня есть $/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 docs?

ответ

0

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

1

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

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

, а также

Hop e, что помогает.

Martin.

+0

Я пытаюсь сделать что-то быстро. Подход в этих ссылках звучит не очень быстро. Я хочу апи, чтобы сделать это: выбрать топ 1 * из tbl_Label л присоединиться к tbl_LabelEntry ле на l.LabelId = le.LabelId где le.VersionFrom> = @ver и l.LabelName LIKE 'CIBuild%' заказ от l.LastModified по возрастанию –

2

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

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

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