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


Команда lock

Блокирует или разблокирует файл или папку для запрета или восстановления доступа пользователей для извлечения объекта для изменения в другую рабочую область или для возврата в объект ожидающих утверждения изменений из другой рабочей области.

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

Для использования команды lock необходимо иметь разрешение Блокировка со значением Разрешить. Установка значения Разрешить для разрешения "Разблокирование изменений других пользователей" необходима для отмены блокировки, выполненной другим пользователем, если отсутствует разрешение Запись для рабочей области данного пользователя. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.

tf lock itemspec /lock:(none|checkout|checkin) 
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl] 

Параметры

Аргумент

Описание

itemspec

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

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

workspacename

Предоставляемое пользователем значение параметра /workspace.

username

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

TeamProjectCollectionUrl

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

Параметр

Описание

/lock

Указывает тип блокировки или снимает ее с элемента. Дополнительные сведения см. в разделе Основные сведения о типах блокировки.

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

  • Отсутствует

    Снимает блокировку с элемента.

  • Checkin

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

  • Checkout

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

/workspace

Задает имя другой рабочей области, в которой будет применена блокировка. По умолчанию блокировка применяется в текущей рабочей области.

/login

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

/collection

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

Заметки

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

Примечание

Сообщите своим коллегам о применении блокировки к элементу, объясните причину этого действия и определите, если возможно, когда планируется снять блокировку.

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

Блокировка элемента

Для блокировки элемента можно воспользоваться командой "lock" или указать параметр блокировки во время утверждения ряда других команд программы командной строки tf, включающих следующие.

Для команд "add" и "branch" команда "lock" размещается в пространстве имен, где будет создан новый элемент. Команды "lock", размещенные с командой "rename", применяются как к старым, так и к новым пространствам имен. Дополнительные сведения см. в разделе Блокировка и разблокировка папок и файлов.

Типы блокировки

Team Foundation предоставляет два типа блокировки: checkin и checkout.

Блокировка возврата имеет меньшие ограничения, чем блокировка извлечения. При применении блокировки возврата пользователи могут продолжать выполнять локальные изменения элемента в других рабочих областях. Изменения нельзя вернуть до тех пор, пока блокировка возврата не будет явным образом удалена из рабочей области.

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

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

Принцип работы блокировки

Если при блокировке был извлечен файл, его статус изменяется на статус, содержащий новый тип блокировки. Если файлы извлечены не были, в набор отложенных изменений рабочей области добавляется изменение "lock". В отличие от команды checkout, lock не приводит к автоматическому изменению файла для редактирования.

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

Разблокирование элемента

Для снятия блокировки с элемента можно использовать параметр none. Кроме того, Team Foundation выполняет автоматическое разблокирование элемента при возвращении ожидающих изменений в рабочей области.

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

Примеры

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

c:\projects>tf lock /lock:checkout 314.cs

В следующем примере пользователям запрещается возвращать изменения для файла 1256.cs, но разрешается извлекать их в рабочих областях.

c:\projects>tf lock /lock:checkin 1256.cs

В следующем примере пользователям запрещается откладывать изменения для элементов в папке src/ на сервере Team Foundation (подсистема контроля версий).

c:\projects>tf lock /lock:checkout $/src

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

c:\projects>tf lock /lock:none src/

См. также

Ссылки

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

Команды Checkout и Edit

Команда Status

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

Основные сведения о типах блокировки

Создание рабочей области для работы с командным проектом

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

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

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