Команда "label" (Управление версиями в Team Foundation)
Обновлен: Ноябрь 2007
Добавляет или удаляет метку для версии файла или папки на сервере Team Foundation (подсистема контроля версий).
Необходимые разрешения
Для использования команды label необходимо иметь разрешение Метка с значением Разрешить. Для изменения или удаления меток, созданных другими пользователями необходимо разрешение Администрирование меток со значением Разрешить. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.
tf label [/server:servername] labelname[@scope] [/owner:ownername]
itemspec [/version:versionspec] [/comment:("comment"|@commentfile)]
[/child:(replace|merge)] [/recursive]
tf label [/server:servername] /delete labelname[@scope]
[/owner:ownername] itemspec [/version:versionspec]
Параметры
Аргумент |
Описание |
---|---|
servername |
Предоставляемое пользователем значение параметра /server. Пример: "teamfoundation2". |
labelname |
Определяет имя метки для добавления, изменения или удаления из указанного элемента. |
@scope |
Указывает каталог сервера Team Foundation (подсистема контроля версий), в котором имя метки является уникальным. Этот параметр позволяет создавать, управлять, извлекать и удалять одну метку или набор элементов с метками в случае, когда две метки с одинаковыми именами находятся в разных частях сервера Team Foundation (подсистема контроля версий). |
ownername |
Предоставляет параметру /owner значение, такое как "ДОМЕН\JuanGo" или просто "juango". |
itemspec |
Определяет файл или папку для вложения, переопределения или удаления метки. Дополнительные сведения об анализе спецификаций элементов в системе Team Foundation для определения элементов, которые находятся в области ее действия, см. в разделе Синтаксис командной строки (Team System). |
versionspec |
Предоставляет параметру /version значение, например "с2". Дополнительные сведения об анализе спецификаций версий сервером Team Foundation для определения элементов, которые находятся в области его действия, см. в разделе Синтаксис командной строки (Team System). |
comment |
Предоставляемый пользователем комментарий о метке. |
@commentfile |
Предоставляемый пользователем путь к файлу на диске, содержащему комментарий для возврата. |
Параметр |
Описание |
---|---|
/server |
Определяет Team Foundation Server. Этот параметр является обязательным, если вызов команды осуществляется из каталога, который не сопоставлен рабочей области. |
/owner |
Указывает имя владельца метки. |
/version |
Необязательный. Указывает версию файла или папки, для которой метка будет вложена, изменена или удалена. Они являются значениями набора изменений, например C93. Если versionspec не указана, по умолчанию Team Foundation использует базовую версию рабочей области. |
/comment |
Добавляет или изменяет описание или комментарий для метки. |
/child |
Определяет, как обращаться с элементами, уже имеющими метки, идентичные указанным. Replace используется для обновления версии элемента, соответствующей существующей метке. Merge используется, чтобы оставить только одну существующую метку. |
/recursive |
Помечает все элементы в каталоге, соответствующие itemspec и versionspec. Не может использоваться совместно с параметром /delete. |
/delete |
Удаляет метку. |
Заметки
Метка может быть вложена в набор несвязанных файлов и папок на сервере 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". Файл "314.cs" имеет версию "C70" с меткой "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
См. также
Задачи
Пошаговое руководство. Дополнительные функциональные возможности системы управления версиями
Практическое руководство. Применение меток
Основные понятия
Ссылки
Синтаксис командной строки (Team System)