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


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

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

С помощью команды lock можно временно запретить изменение определенного файла или папки на сервере управления версиями. Это может оказаться полезным, если необходимо изменить элемент в локальной рабочей области, а затем вернуть его на сервер без риска возникновения конфликтов слияния. Одновременно владеть блокировкой того или иного файла или папки может только один пользователь. Если требуется запретить доступ к элементу на постоянной основе, используется Команда "permission".

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

Сервер Team Foundation поддерживает блокировки двух типов: блокировки возврата и блокировки извлечения.

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

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

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

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

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

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

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

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

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

Разблокировать элемент можно явным образом с помощью команды unlock или неявно во время возврата. При возврате ожидающих изменений заблокированного элемента сервер Team Foundation снимает все блокировки.

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

По умолчанию разрешение UnlockOther дается только администраторам. Пользователь, обладающий разрешением UnlockOther, может снимать блокировку с любого элемента в рабочей области другого пользователя из командной строки (Команда "lock").

См. также

Задачи

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

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

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

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

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

Разрешение конфликтов, связанных с различиями между папками и файлами (система управления версиями Team Foundation)