Команда lock (Team Foundation Version Control)
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Управление версиями Team Foundation (TFVC) lock
блокирует или разблокирует файл или папку. Команда запрещает или восстанавливает право пользователей, чтобы извлечь элемент для редактирования в другой рабочей области или проверить ожидающие изменения элемента из другой рабочей области.
Необходимые условия
Чтобы использовать команду lock
, укажите разрешение lock на Allow. Чтобы разрешить удалить блокировку, удерживаемую другим пользователем, необходимо
Синтаксис
tf lock itemspec /lock:(none|checkout|checkin)
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]
Параметры
Аргументы
аргумент
описание
<itemspec>
Определяет файл или папку для блокировки или разблокировки. Дополнительные сведения о том, как TFVC анализирует itemspec
, чтобы определить, какие элементы находятся в области, см. в разделе Использование параметров для изменения способафункций команд.
Заметка
Можно указать несколько itemspec
аргументов.
<workspacename>
Указанное пользователем значение параметра /workspace
.
<username>
Предоставляет значение для параметра /login
. Можно указать значение username
как DOMAIN\username
или username
.
<TeamProjectCollectionUrl>
URL-адрес коллекции проектов, содержащей файл или папку, которую требуется заблокировать или разблокировать, например http://myserver:8080/tfs/DefaultCollection
.
Параметры
параметра
описание
/lock
Указывает тип блокировки или удаляет блокировку из элемента. Дополнительные сведения см. в статье Общие сведения о типах блокировки.
Параметры блокировки:
None
: удаляет блокировку из элемента.Checkin
. Позволяет извлечь и изменить элемент во всех рабочих областях, но запрещает пользователям проверять изменения элемента за пределами указанной/workspace
, пока вы не будете явно освобождены от блокировки. Если указанный элемент заблокирован в любой другой рабочей области, операция блокировки завершается ошибкой.Checkout
. Запрещает пользователям выполнять вход или проверку указанных элементов, пока не будет явно освобождена блокировка. Если пользователи заблокировали любой из указанных элементов или если ожидающие изменения существуют для любого из элементов, операция блокировки завершается ошибкой.
/workspace
Указывает имя другой рабочей области, в которой необходимо применить блокировку. По умолчанию блокировка применяется в рабочей области, в которой вы сейчас находитесь.
/login
Указывает имя пользователя и пароль для проверки подлинности пользователя с помощью Azure DevOps.
/collection
Указывает коллекцию проектов.
Замечания
С помощью команды блокировки можно временно заморозить версию сервера TFVC элемента, чтобы можно было выполнить проверку ожидающего изменения без необходимости разрешать конфликты слияния. Если вы хотите окончательно запретить доступ к элементу на сервере TFVC, вместо этого следует использовать команду разрешения
Заметка
Как любезно вашим товарищам по команде, уведомите их, когда вы применяете блокировку к элементу, объясните, почему вы делаете это, и оцените, когда вы планируете удалить блокировку, если вы можете.
Дополнительные сведения об использовании служебной программы командной строки tf
см. в разделе Использование команд управления версиями Team Foundation.
Блокировка элемента
Вы можете заблокировать элемент с помощью команды lock
или указать параметр lock
во время выполнения нескольких других команд служебной программы командной строки tf
, в том числе:
- команды "Переименовать" (Team Foundation Version Control)
- команды для проверки и редактирования
- команда Delete (Team Foundation Version Control)
- команда отмены
- команда слияния
- команда Branch
- добавить команду
Для add
и branch
блокировка помещается в пространство имен, в котором будет создан новый элемент. Блокировки, помещенные с помощью rename
применяются как к старым, так и к новым пространствам имен. Дополнительные сведения см. в разделе Блокировка и разблокировка папок или файлов.
Типы блокировки
TFVC предоставляет два типа блокировок: checkin
и checkout
.
Блокировка регистрации менее ограничена, чем блокировка выхода. При применении блокировки регистрации пользователи могут продолжать вносить локальные изменения в элемент в других рабочих областях. Изменения не могут быть возвращены, пока вы явно не удалите блокировку регистрации из рабочей области.
Блокировка выхода является более строгой, чем блокировка для регистрации. При применении блокировки выхода к управляемому версиям файлу или папке пользователи не смогут извлечь элемент для редактирования и не учесть существующие ожидающие изменения. Вы не можете приобрести блокировку выхода, если в настоящее время существуют ожидающие изменения в элементе.
Дополнительные сведения о том, когда следует применить блокировку для выхода и когда применить блокировку, см. в разделе Общие сведения о типах блокировки.
Как работает блокировка
Если при блокировке файла извлечен файл, его состояние изменяется, чтобы он содержал новый тип блокировки. Если файлы не извлечены, в набор ожидающих изменений рабочей области добавляется блокировка checkout
, lock
не делает файл редактируемым автоматически.
Блокировки папок неявно рекурсивны. Если вы заблокируете папку, вам не нужно блокировать файлы, содержащиеся в нем, если вы не хотите применить более строгий контрольный флажок к файлу в папке с блокировкой регистрации.
Разблокировка элемента
Вы можете разблокировать заблокированный элемент с помощью параметра none
. TFVC также разблокирует элемент автоматически при регистрации ожидающих изменений в рабочей области.
Вы можете определить, какие файлы заблокированы на сервере TFVC, а файлы были заблокированы с помощью команды состояния .
Примеры
В следующем примере другие пользователи не могут проверять 314.cs.
c:\projects>tf lock /lock:checkout 314.cs
В следующем примере другие пользователи не будут проверять изменения в 1256.cs, но позволяют им проверять их в своих рабочих областях.
c:\projects>tf lock /lock:checkin 1256.cs
В следующем примере другие пользователи не могут вносить изменения в любые элементы в папке $/src на сервере TFVC.
c:\projects>tf lock /lock:checkout $/src
Следующий пример разблокирует и делает все файлы в папке сервера $/src $/src TFVC server, доступной для получения и регистрации другими пользователями.
c:\projects>tf lock /lock:none $/src