Прежде всего, вы можете делать большую часть того, что вам нужно, с помощью tf.exe, инструмента командной строки , который вы получаете с TF Client. tf dir
, tf get
, tf merge
, tf resolve
и tf checkin
будут представлять интерес для вас, а также потенциально tf branches
. Мы выполняем слияния все время из командной строки, потому что из командной строки доступны только определенные опции, такие как tf merge / baseless (иногда) и / discard, когда мы хотим исключить набор изменений как кандидата на слияние. Мы делаем это, потому что у нас есть скрипты, которые запускаются по ночам в наших ветках обслуживания, которые сообщают нам, сколько наборов изменений было зарегистрировано без слияния с Trunk Иногда существует набор изменений, который никогда не должен быть объединен с Trunk, например Примечания к выпуску для конкретного патча.
Существует также оснастка PowerShell для TFS в Team Foundation Power Tools , но она не так эффективна, как tf.exe. Тем не менее, для запросов это здорово, потому что вы возвращаете .NET объекты.
WRT к сценарию Мэннинга, передаете ли вы полный URL-адрес, включая имя коллекции TF, например, http://myserver.acme.com:8080/tfs/myteamproject? Наконец, это $tfs.RecursionType::OneLevel
не кажется правильным. Разве это не должно быть [Microsoft.TeamFoundation.VersionControl.Client.RecursionType]::OneLevel
? Иногда вы можете указать только значение перечисления в виде строки, например 'OneLevel'
- если средство связывания метода PowerShell .NET может найти правильную перегрузку.