Доступ к TFS из Powershell - PullRequest
       12

Доступ к TFS из Powershell

0 голосов
/ 10 июня 2010

Я новичок в PowerShell и пытаюсь получить ветви из TFS и объединить их с помощью сценария PowerShell.К сожалению, у меня не получается первое препятствие.

У меня установлена ​​Visual Studio 2010 на локальном компьютере, и я могу получить доступ к серверу TFS (также 2010).

Я запускаю скрипт из своеголокальный компьютер и имеет следующие строки:

$tfs = get-tfs http://TFSServerName:8080/TFSProject
$branchfolders = $tfs.VCS.GetItems('$/Dev/Branches/', $tfs.RecursionType::OneLevel)

и я получаю следующую ошибку во второй строке 2 выше

Исключение вызывает "GetItems" с аргументом "2" (с): «Невозможно подключиться к удаленному серверу»

Я настроил сервер TFS для приема входящих подключений через порт 8080, который работает, но теперь я не уверен, как устранить эту ошибку.Требуется ли дальнейшая настройка?

Спасибо за предоставленную помощь.

Ответы [ 2 ]

1 голос
/ 14 июня 2010

Спасибо за помощь.

Я не понимаю, почему это решает проблему, но когда я использовал адрес IIS для сервера, я не смог получить к нему доступ.Я считаю, что это работает для других, но по какой-то причине не для меня.

Например,

$tfs = get-tfs http://TFSServerName:8080/TFSProject

не работал, но:

$tfs = get-tfs TFSServerName/TFSProject

работает.

1 голос
/ 10 июня 2010

Прежде всего, вы можете делать большую часть того, что вам нужно, с помощью 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 может найти правильную перегрузку.

...