Папка заблокирована, и я не могу ее разблокировать
Когда я пытаюсь обновить или передать код из проекта, он говорит мне, что папка заблокирована. Когда я пытаюсь "отпустить блокировку", он говорит, что в этом рабочем пространстве нет ничего, что можно было бы разблокировать.
Что это значит? Почему я не могу обновить, зафиксировать или даже очистить проект.
Ответы
Ответ 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 → проверить "блокировать кражу"
затем зафиксируйте или отпустите блокировку.