Вопрос

Я занимаюсь созданием сценария для выполнения большого количества перемещений в моем экземпляре TFS.У меня есть командлеты tfs, доступные в 2010 TFS Power Tools, но справочная документация по ним очень скудна.В частности, Add-TfsPendingChange, похоже, не поддерживает переименование, что заставляет меня использовать вместо этого «tf.exe rename».

Прежде всего: пропустил ли я документацию по командлетам?Я пробовал использовать команды get-help, но они не поддерживают флаги -detailed или -examples.Есть еще что-нибудь?

Во-вторых: по какой причине я предпочитаю какой-либо из командлетов обычному tf.exe?Есть ли другие преимущества, кроме передачи объектов через канал при выполнении аналогичных функций?

Это было полезно?

Решение

На данный момент командлеты TF представляют собой немного минималистичное предложение, которое включает в себя предоставленную документацию.В общем, я бы использовал командлеты TF там, где они поддерживают то, что я пытаюсь сделать, особенно если у вас есть вопросы.Обработка вывода командлетов запросов намного проще, потому что они предоставляют вам богатые объекты вместо текстового потока, который вы должны анализировать при использовании чего-то вроде tf status . /r.

Также имейте в виду, что в системе Windows x64 командлеты TF работают только на 32-битном узле PowerShell.

Другие советы

Командлеты tf не совсем бесполезны, но ... мы решили не использовать их в нашей среде сборки прямо сейчас, даже если это означает анализ текста.

Помимо x64, есть много отсутствующих команд (спасибо @Кейт) и отсутствующие параметры, и самое главное , они не работают в удаленных сеансах!

Третий вариант - использовать общедоступные сборки TFS из PowerShell. Когда вы это сделаете, вы сможете получить доступ ко всем возможностям клиента TFS и по-прежнему использовать командлеты TFS. Выберете ли вы этот подход по сравнению с tf.exe и другими исполняемыми файлами командной строки TFS, зависит от того, какую среду сценариев вы предпочитаете.

Вот команда PowerShell для ссылки на общедоступные сборки TFS 2013 (для TFS 2012 или 2010 просто измените Version=12.0.0.0 на Version=11.0.0.0 или Version=10.0.0.0).

родовое слово

Для примера переименования вы могли бы:

  1. Используйте командлет Get-TfsWorkspace для создания экземпляра объект Microsoft.TeamFoundation.VersionControl.Client.Workspace.
  2. Вызовите PendRename объекта Workspace, GetPendingChanges и Методы проверки .

Примерно так:

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top