Папка заблокирована, и я не могу ее разблокировать

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

Что это значит? Почему я не могу обновить, зафиксировать или даже очистить проект.

Ответ 1

Щелкните правой кнопкой мыши папку рабочего каталога Subversion и выберите TortoiseSVN- > "Очистить" из контекстного меню. Это восстановит его через ваш рабочий каталог и очистит любые неполные действия, удалит блокировки локальные (что отличаетс от использования блокировки Subversion файла в репозитории, что позволяет всем знать о блокировке).

Если это не сработает, посмотрите, сможете ли вы найти имена файлов, которые были изменены, но еще не выполнены, сохраните их и повторите проверку.

Ответ 2

Если файл был заблокирован самостоятельно (такая же учетная запись svn), вы можете выполнить следующие действия:

Щелкните правой кнопкой мыши заблокированный файл или папку и выберите TortoiseSVN- > Получить блокировку..., и отметьте " []" Украсть блокировки "внизу в левом углу диалогового окна нажмите" ОК". Если он завершится успешно, это нормально. Когда вы снова щелкните файл правой кнопкой мыши, вы увидите TortoiseSVN- > Блокировка блокировки..., нажмите, чтобы разблокировать.

Ответ 3

Используя командную строку svn для разблокировки локальных папок, просто используйте svn cleanup.

До:

# svn commit -m "fixing #1234"

commit

# svn st

before

# svn cleanup

После того, как:

# svn st

after

# svn commit -m "fixing #1234"

after2

Ответ 4

Кому все еще есть эта проблема (Ошибка: Рабочая копия '{DIR}' заблокирована.) У меня есть ваше решение:

Я обнаружил, что при сбое одного из окон TortoiseSVN он оставляет TSVNCache.exe, который по-прежнему содержит несколько дескрипторов вашей рабочей копии и вызывает проблемы с блокировкой, которые вы видите (а также предотвращает очистку от выполнения этой задачи).

Итак, чтобы решить эту проблему:

Либо

1a) Используйте Process Explorer или аналогичный для удаления дескрипторов, принадлежащих TSVNCache.exe

1b). Еще проще, просто используйте диспетчер задач, чтобы убить TSVNCache.exe

Тогда

2) Щелкните правой кнопкой мыши → TortoiseSVN → Очистить. Необходимо проверить только "Очистить статус рабочей копии".

Оттуда, счастливое обновление/фиксация. Вы можете воспроизвести поведение блокировки, выполнив обновление SVN, а затем быстро уничтожив процесс TortoiseProc.exe до завершения обновления.

Ответ 5

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

Решение для меня:

  • Щелкните правой кнопкой мыши в рабочем каталоге проекта.
  • Перейдите в TortoiseSVN.
  • Перейдите в Очистить.
  • Оставьте все параметры по умолчанию и установите флажок Блокировки прерываний
  • Нажмите ОК

Это работает для меня. Я смог зафиксировать изменения.

Ответ 6

Чтобы разблокировать файл в рабочей копии из командной строки, которая в настоящее время заблокирована другим пользователем, используйте параметр --force.

$ svn unlock --force tree.jpg

Ответ 7

У меня была эта проблема, и я сделал следующие шаги для ее устранения:

  • Перейдите в родительскую папку вместо дочерней папки
  • Выберите очистку SVN
  • Нажмите "ОК".

Сделайте этот шаг в родительской папке вместо дочерней папки!

Это сработало для меня!

Ответ 8

Я перемещал папку на один уровень и в другую папку. Моя ошибка заключалась в перемещении из родительской папки.

Плохой пример:

pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir

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

Хороший пример:

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation

Ответ 9

У меня была эта проблема, когда я не мог разблокировать файл со стороны клиента. Я решил перейти на другую сторону, которая была намного проще.

На сервере SVN:

Найдите замки

 svnadmin lslocks /root/of/repo
 (in my case it was var/www/svn/[name of Company])

 You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"

Снять блокировку

 svnadmin rmlocks /root/of/repo "path/to/file" 

Это!

Ответ 10

Решение:

  • Щелкните правой кнопкой мыши Рабочий каталог проекта.
  • Перейдите в TortoiseSVN.
  • Перейдите к очистке.
  • Выберите Очистить статус рабочей копии (отметьте отмеченную метку)
  • Нажмите "ОК"
  • Повторите шаги 1 и 2, затем отпустите фиксацию.
  • Нажмите "ОК". Блокировка проекта открывается.

Ответ 11

В дополнение к David M ответьте, выполняя очистку → установите флажок "блокировки блокировок". Это обеспечит выпуск замков. Затем выполните обновление svn. Это сработало для меня.

Ответ 12

Чтобы разблокировать заблокированный документ: 1. Щелкните правой кнопкой мыши → Заблокировать 2. Установите флажок "Украсть замки" 2. Отпустите замок

Ответ 13

Я много разбираюсь в этой проблеме, но никакое решение не исправляет мою проблему, пока я не попробую:

Моя папка repo совместно используется виртуальной машиной Windows xp, поэтому я выполняю очистку от виртуальной машины, а затем выполняю SVN UPDATE с хоста.

Это сработало для меня.

Приветствия из Коста-Рики.

Ответ 14

Я смог решить эту проблему на своем компьютере, переименовав папки, чтобы уменьшить путь к папке.

Ответ 15

Мне это случилось после того, как Tortoise получил повреждение и сбой при попытке обновить папки. Я закончил переустановку Черепахи, но призрачный замок все еще присутствовал. Оттуда мне пришлось удалить папку и выполнить новую проверку. Очевидно, мне очень повезло, что в то время у меня не было никаких новых изменений. Во всяком случае, отличные новости, и если у кого-то есть лучшее решение, я бы с удовольствием это услышал. Даже при использовании "Блокировка прерывания", т.е. разблокировка с помощью параметра force ничего не изменила.

Ответ 16

Очистите, отметьте все флажок = > Эта работа для меня

Ответ 17

Я столкнулся с этой проблемой после этих операций:

  • получить блокировку в папке
  • изменить файлы
  • удалить файлы и папки обновления → загруженные новые файлы
  • попытаться зафиксировать или освободить блокировку

Я, наконец, решил проблему, снова заставив блокировку: TortoiseSVN → Get Lock → проверить "блокировать кражу" затем зафиксируйте или отпустите блокировку.