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


Команда Label (управление версиями в Team Foundation)

Добавляет или удаляет метку для версии файла или папки на сервере Team Foundation (подсистема контроля версий).

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

Для использования команды label необходимо иметь разрешение Метка с значением Разрешить. Для изменения или удаления меток, созданных другими пользователями необходимо разрешение Администрирование меток со значением Разрешить. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.

tf label labelname[@scope] [/owner:ownername] 
itemspec [/version:versionspec] [/comment:("comment"|@commentfile)] 
[/child:(replace|merge)] [/recursive] [login:username,[password]] [/collection:TeamProjectCollectionUrl]

tf label /delete labelname[@scope] 
itemspec [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

Параметры

Аргумент

Описание

labelname

Определяет имя метки для добавления, изменения или удаления из указанного элемента.

@scope

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

ownername

Предоставляет параметру /owner значение, такое как "ДОМЕН\JuanGo" или просто "juango".

itemspec

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

ПримечаниеПримечание
Можно указать более одного аргумента Itemspec.

versionspec

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

comment

Предоставляемый пользователем комментарий о метке.

@commentfile

Предоставляемый пользователем путь к файлу на диске, содержащему комментарий для возврата.

username

Предоставляет значение для параметра /login. Можно задать значение для имени пользователя как ДОМЕН\имя_пользователя или как имя_пользователя.

TeamProjectCollectionUrl

URL-адрес указанной коллекции командных проектов, содержащей версию файла или папки, для которой требуется присоединить метку или из которого необходимо удалить метку (например, http://myserver:8080/tfs/DefaultCollection).

Параметр

Описание

/owner

Указывает имя владельца метки.

/version

Необязательный. Указывает версию файла или папки, для которой метка будет вложена, изменена или удалена. Они являются значениями набора изменений, например C93. Если versionspec не указана, по умолчанию Team Foundation использует базовую версию рабочей области.

/comment

Добавляет или изменяет описание или комментарий для метки.

/child

Определяет, как обращаться с элементами, уже имеющими метки, идентичные указанным. Replace используется для обновления версии элемента, соответствующей существующей метке. Merge используется, чтобы оставить только одну существующую метку.

/recursive

Помечает все элементы в каталоге, соответствующие itemspec и versionspec.

Не может использоваться совместно с параметром /delete.

/delete

Удаляет метку.

/login

Задает имя пользователя и пароль для проверки подлинности пользователя с Visual Studio Team Foundation Server.

/collection

Указывает коллекцию командных проектов.

Заметки

Метка может быть вложена в набор несвязанных файлов и папок на сервере Team Foundation (подсистема контроля версий). Метки упрощают их извлечение в рабочую область для осуществления разработки или построения. Вследствие этого метка похожа на набор изменений или штамп даты/времени, к которому добавляются или из которого удаляются файлы и папки или изменяются версии элементов. Метка — это спецификация версии, которая передается следующим командам Team Foundation.

Общими типами меток являются метки вех, такие как "M1", "Beta2" или "Release Candidate 0".

Метка связана с версией и добавляется только в одну версию файла или папки. Каждая версия элемента может иметь несколько меток.

Метка не поддерживается системой управления версиями, поэтому журнал меток для файла не ведется. Кроме того, операции с меткой не создают ожидающих изменений в рабочей области. При выполнении команды label обновление немедленно отражается на сервере Team Foundation (подсистема контроля версий).

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

Перемещение и удаление меток

Для удаления метки из файла или папки используется Команда Unlabel. В качестве альтернативы для удаления метки из системы используется команда tf label /delete.

Сведения о существующей метке, включающие список элементов, в которые вложена метка, примечание, область и владельца, см. Команда Labels.

Управление перегруженными метками

Имена меток должны быть уникальными в пределах указанной области. При добавлении метки ее имя резервируется для использования в или под указанной или подразумеваемой областью. Значением по умолчанию для параметра @scope является командный проект, например "$/TeamProject1".

Если другая группа или пользователь добавляет общую метку, например "М3", к файлам системы управления версиями, находящимся в другой части сервера Team Foundation (подсистема контроля версий), метку "М3" можно применить к файлам проекта, пока корневые папки проектов находятся в разных каталогах. Например, файлы в каталогах "$/math" и "$/projects" могут иметь одинаковую метку "М3".

Для получения, удаления или других действий с элементами с меткой "М3" необходимо в параметре "@scope" для Team Foundation указать область метки.

Чтобы другие пользователи не смогли "перегрузить" метку, такую как "М3", в других частях сервера Team Foundation (подсистема контроля версий), нужно либо создать метку в корне ($/)сервера Team Foundation (подсистема контроля версий), либо изменить разрешения "Метка" для определенных папок.

Использование параметра "/Child" для предотвращения ошибок при установке меток

При выполнении команды label с уже существующим именем метки и itemspec, включающим файлы с одинаковыми метками, значение параметра /child определяет, будут ли файлы с метками обновляться новыми сведениями о редакции. Файлы будут иметь одинаковые имена меток, но разные области действия.

Например, предположим, что имеется папка с именем c:\projects, содержащая два файла, 314.cs и 271.cs. Также предположим, что версия C70 файла "314.cs" имеет метку "ready". Последней версией файла "314.cs" является "С93". Если с помощью следующей команды к последней версии папки и находящимся в ней файлам применить метку "ready", она переместится из версии "C70" файла "314.cs" в версию "C93".

tf label ready c:\projects /recursive /version:T /child:Replace

Для предотвращения перемещения существующей метки "ready" из версии "С70" в версию "С93" файла "314.cs" используется следующий синтаксис команды.

tf label ready c:\projects /recursive /version:T /child:Merge

При указании для параметра "/child" значения Merge уже имеющиеся экземпляры метки останутся в единственном числе.

Примечание

В следующих двух примерах "T" используется для "Tip" для получения последней версии versionspec.

Примеры

В следующем примере метка "goodbuild" добавляется в версию рабочей области папки "docs" и файлов и папок, которые в ней находятся.

c:\projects>tf label goodbuild docs /recursive

В следующем примере метка "goodbuild" добавляется в папку "docs", но не в находящиеся в ней файлы и папки.

c:\projects>tf label goodbuild docs

В следующем примере метка "goodbuild" добавляется в версию 3 файла "314.cs" на сервере Team Foundation (подсистема контроля версий).

c:\projects>tf label goodbuild /version:3 $/src/314.cs

В следующем примере метка "badbuild" удаляется из всех элементов на сервере Team Foundation (подсистема контроля версий).

c:\projects>tf label /delete badbuild

В следующем примере параметр области используется для применения метки к файлу "314.cs".

c:\projects>tf label goodbuild@$/TeamProject1 314.cs

См. также

Ссылки

Синтаксис командной строки (управление версиями)

Команда Labels

Команда Unlabel

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

Использование меток для создания снимков файлов

Использование меток для создания снимков файлов

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

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