Поделиться через


Команда "branch"

Обновлен: Ноябрь 2007

Команда branch копирует элемент или набор элементов, включая метаданные и журнал управления версиями, из одного места в другое на сервере Team Foundation (подсистема контроля версий) и в локальную рабочую область.

d73s8b27.alert_note(ru-ru,VS.90).gifПримечание.

Результаты данной команды не отображаются на сервере Team Foundation (подсистема контроля версий) до тех пор, пока не будет выполнена операция возврата. Дополнительные сведения см. в разделе Практическое руководство. Возврат ожидающих изменений.

Необходимые разрешения

Для использования команды branch необходимо иметь разрешение Чтение для исходного элемента и разрешение Извлечение со значением Разрешить для конечной папки. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:none|checkin|checkout] [/checkin] [/noprompt]

Параметры

Аргумент

Описание

olditem

Задает имя исходного файла или папки, ветвление которых выполняется. olditem может также содержать сведения о версии в формате item;version.

Newitem

Задает имя конечного файла или папки либо конечной родительской папки. Если элемент newitem уже существует и является папкой сервера Team Foundation (подсистема контроля версий), Team Foundation создаст в ней ответвленные элементы. В противном случае newitem задает имя конечного фала или папки. Если конечная папка уже существует, во время операции возврата могут возникнуть конфликты.

Versionspec

Предоставляет значение для параметра /version. Дополнительные сведения о том, как Team Foundation выполняет анализ спецификаций версий для определения элементов, находящихся в области его действия, см. в разделе Синтаксис командной строки (Team System).

Параметр

Описание

/version

Версия элемента, ветвь которого требуется создать. Возможны следующие варианты указания версии.

  • Дата/время (D20/10/2005)

  • Номер набора изменений (C1256)

  • Метка (Lmylabel)

  • Последняя версия (T)

  • Рабочая область (Wworkspacename)

Если версия не указана, Team Foundation использует следующую логику для определения версии элемента, которая будет скопирована в новую ветвь.

  • Если указан путь к серверу Team Foundation (подсистема контроля версий), Team Foundation выполняет ветвление элемента в последней версии на сервере Team Foundation (подсистема контроля версий). Например, tf branch $/projects/help.cs использует версию сервера.

  • Если указан локальный путь для источника, Team Foundation использует версию локальной рабочей области для создания новой ветви. Например, tf branch C:\314.cs использует локальную версию рабочей области.

При ветвлении файла, версия рабочей области которого более ранняя, чем последняя версия сервера Team Foundation (подсистема контроля версий), операция выполняется в ранней версии.

/lock

Запрещает другим пользователям возвращать или извлекать элементы до тех пор, пока не будет возвращена отложенная ветвь и связанные изменения. Дополнительные сведения см. в разделе Основные сведения о типах блокировки.

Параметры блокировки

  • None

    Значение по умолчанию. Блокировка не применяется. Если в файле, для которого создается ветвь, существует блокировка, данный параметр удаляет ее.

  • Checkin

    Другие пользователи могут извлекать указанные элементы, но не могут возвращать исправления в заблокированные файлы до отмены блокировки с помощью операции возврата. Если какой-нибудь другой пользователь уже заблокировал один из заданных элементов, операция блокировки завершается неудачей.

  • Checkout

    Запрещает другим пользователям извлечение или возврат указанных элементов до отмены блокировки с помощью операции возврата. Если какой-нибудь другой пользователь уже заблокировал один из заданных элементов, операция блокировки завершается неудачей.

/noget

При выборе данного параметра локальные копии файлов и папок в новой ветви не создаются в локальной рабочей области. Однако локальные копии будут извлечены в рабочую область во время следующего выполнения рекурсивной операции Get.

d73s8b27.alert_note(ru-ru,VS.90).gifПримечание.
Чтобы запретить извлечение элементов, например содержимого папки /images, в рабочую область во время выполнения рекурсивных операций Get и Get Latest, замаскируйте папку рабочей области. Дополнительные сведения см. в разделе Команда "workfold".

/checkin

Для использования только с пакетом обновления 1 (SP1) для Microsoft Visual Studio Team System 2008 Team Foundation Server.

Возвращает действие ветвления одновременно с созданием ветви.

/noprompt

Отключает отображение запросов на ввод данных пользователем.

Заметки

Если указан локальный путь, например c:\00101, но не указана версия, Team Foundation в качестве основы для создания новой ветви будет использовать локальную версию рабочей области.

Однако, если указан путь к серверу, например "$/00101/*.cs", но не указана версия, Team Foundation в качестве основы для создания новой ветви будет использовать последнюю версию сервера Team Foundation (подсистема контроля версий).

Дополнительные сведения о поиске программы командной строки if см. в разделе Команды служебной программы командной строки "tf".

Примеры

В следующем примере создается файл ветви, содержащий последнюю версию файла "314.cs" из рабочей области, ему присваивается имя "314_branch", и он сохраняется в текущем каталоге на диске и в папке сервера Team Foundation (подсистема контроля версий), с которой он сопоставлен.

c:\projects>tf branch 314.cs 314_branch

В следующем примере все файлы без отложенных изменений копируются в рабочую область версии файла "314.cs" из ее текущей папки сервера Team Foundation (подсистема контроля версий) в папку сервера Team Foundation (подсистема контроля версий) "testdata" и из текущего каталога на диске в рабочую папку, сопоставленную с папкой сервера Team Foundation (подсистема контроля версий) "testdata".

c:\projects>tf branch C:\314.cs $/testdata

В следующем примере все файлы без отложенных изменений копируются в текущую версию рабочей области папки "testfiles", а файлы, содержащиеся в ней для всех элементов, копируются из текущей папки сервера Team Foundation (подсистема контроля версий) в папку сервера Team Foundation (подсистема контроля версий) "testfiles_branch" и из папки c:\testfiles в локальную папку, сопоставленную с папкой сервера Team Foundation (подсистема контроля версий) "testfiles_branch".

c:\projects>tf branch C:\testfiles $/testfiles_branch

В следующем примере создается ветвь файла "314.cs" в том виде, как она существовала в наборе изменений №4 для файла. В рабочей папке на диске, как и на сервере Team Foundation (подсистема контроля версий), создается файл ветви с именем "csharp_branch".

c:\projects>tf branch C:\314.cs;C4 csharp_branch

В следующем примере создается ветвь файла "314.cs" в том виде, как она существовала на 12.12.03. В рабочей папке на диске и на сервере Team Foundation (подсистема контроля версий) создается файл ветви с именем "314_branch".

c:\projects>tf branch 314.cs;D12/12/03 314_branch

В следующем примере выполняется разветвление версии файла "314.cs", к которой была применена подпись "Beta1", присвоение ей имени "Beta1branch" и ее сохранение в текущий каталог на диске и в папку сервера Team Foundation (подсистема контроля версий), сопоставленной с текущим каталогом.

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch

См. также

Задачи

Пошаговое руководство. Дополнительные функциональные возможности системы управления версиями

Пошаговое руководство. Управление версиями в Team Foundation с помощью командной строки

Практическое руководство. Ветвление файлов и папок

Основные понятия

Основные сведения о ветвлении

Работа с наборами изменений системы управления версиями

Ссылки

Команда "branches"

Команда "merge"

Другие ресурсы

Команды служебной программы командной строки "tf"