Как я могу запросить папку в TFS, чтобы показать мне последний набор изменений для каждого объекта? - PullRequest
3 голосов
/ 15 июля 2011

В настоящее время нашим администраторам баз данных требуется номер набора изменений TFS для любых сценариев / хранимых процедур / функций, которые необходимо развернуть. У меня есть папка в нашем проекте TFS, в которой хранятся все мои хранимые процедуры, и я хочу выполнить один запрос, в котором будут перечислены все объекты в этой папке и последний набор изменений. Я использую Team Explorer VS2010 с TFS Server 2008 (я полагаю), и был бы рад написать его в PowerShell или другом инструменте, но не знаю, с чего начать. Кто-нибудь может дать мне какое-то направление?

1 Ответ

4 голосов
/ 15 июля 2011

TFS имеет много точек расширяемости, которые делают возможным выполнение такого запроса.Если бы это был я, я бы просто использовал клиент командной строки tf.exe.Например:

tf properties $/Path/To/Folder -recursive

Это покажет вам последний набор изменений для каждого из файлов в данной папке (а также другую информацию.)

Во время вывода из командной строкиклиент хорошо сформирован и легко разбирается, вы все равно можете предпочесть более программный способ сделать это.Вы можете использовать очень мощный .NET API для запроса с сервера.Вы захотите вызвать метод VersionControlServer.GetItems.Например:

ItemSet items = vcs.GetItems(@"$/Path/To/Folder", RecursionType.Full);

Если вы еще этого не сделали, вы должны взглянуть на TFS 2008 Power Tools , который включает в себя расширения TFS Power Shell.Мой PowerShell-Fu слаб, но я думаю, что выше в Power Shell работает что-то вроде:

$tfs = get-tfs http://yourserver:8080/tfs/YourCollection
$tfs.VCS.GetItems('$/Path/To/Folder', $tfs.RecursionType::Full)
...