Рабочая копия заблокирована
Я разрабатываю веб-сайт с использованием подрывной деятельности в качестве контроля версий, но получил сообщение об ошибке "рабочий каталог заблокирован"
Вот история:
У меня
PC-A:
- Windows XP Pro
- VisualSVN 2.5.2
- Tortoise SVN 1.7.3
ПК-В:
- Главная страница Windows XP
- Tortoise SVN 1.7.3
Я создаю репозиторий на ПК-A с помощью VisualSVN.
От ПК-B, я закачаю http:\\PC-A: 81\svn\test\trunk в D:\xampp\htdocs\test-lalala.
От ПК-А, я также проверяю http:\\PC-A: 81\svn\test\trunk на D:\xampp\htdocs\test-lalala.
Я создаю привязки post-commit, запускающие файл my-post-commit.bat, поэтому, когда я фиксирую http:\\PC-A: 81\svn\test\trunk, папка D:\xampp\htdocs\test- lalalaon PC-A будет обновлен, поэтому другие люди смогут увидеть результат.
"C:\Program Files\VisualSVN Server\bin\svn.exe" update "D:\xampp\htdocs\test-lalala" --username myusername --password mypassword --config-dir "C:\Program Files\VisualSVN Server\conf"
На PC-B, создайте файл index.php и зафиксируйте. Когда я совершаю, я получаю это сообщение об ошибке
![error message]()
На ПК-A я пытаюсь щелкнуть правой кнопкой мыши по D:\xampp\htdocs\test-lalala TortoiseSVN > CleanUp и проверить "очистить рабочую копию статуса" и "Включить внешние" (по умолчанию установлен). Попробуйте добавить файл и зафиксировать, но все равно получите то же сообщение об ошибке.
Я пытаюсь найти файл блокировки в папке .svn, но нет файла блокировки. Я также пытаюсь удалить рабочую копию на PC-A D:\xampp\htdocs\test-lalala и проверку еще раз, но когда я зафиксирую, все равно получаю то же сообщение об ошибке.
Как решить это сообщение об ошибке? Итак, когда я зафиксирую, папка автоматически обновится?
Ответы
Ответ 1
В результате я использовал команду export, а не команду update. Это крюк после фиксации
"C:\Program Files\VisualSVN Server\bin\svn.exe" export "D:\xampp\htdocs\test-lalala" --quiet --non-interactive --force --username myusername --password мойпароль
Ответ 2
Каждый раз, когда я получаю ошибку блокировки рабочей копии, я запускаю "Очистить". После этого все возвращается к норме.
В командной строке вы можете выполнить svn cleanup
, который также удаляет файлы блокировки.
Примечание. Выполните эту операцию на одном уровне вверх по каталогу, и это должно устранить большую часть времени.
Ответ 3
Кому все еще есть эта проблема (Ошибка: Рабочая копия '{DIR}' заблокирована.) У меня есть ваше решение:
Я обнаружил, что при сбое одного из окон TortoiseSVN он оставляет TSVNCache.exe, который по-прежнему содержит несколько дескрипторов вашей рабочей копии и вызывает проблемы с блокировкой, которые вы видите (а также предотвращает очистку от выполнения этой задачи).
Итак, чтобы решить эту проблему:
Либо
1a) Используйте Process Explorer или аналогичный для удаления дескрипторов, принадлежащих TSVNCache.exe
1b). Еще проще, просто используйте диспетчер задач, чтобы убить TSVNCache.exe
Тогда
2) Щелкните правой кнопкой мыши → TortoiseSVN → Очистить. Необходимо проверить только "Очистить статус рабочей копии".
Оттуда, счастливое обновление/фиксация. Вы можете воспроизвести поведение блокировки, выполнив обновление SVN, а затем быстро уничтожив процесс TortoiseProc.exe до завершения обновления.
Ответ 4
Запустите "Очистить" на верхнем уровне каталога.
Ответ 5
Я решил это, удалив запись WC_Lock в записи блокировки файла SQLite ".svn\wc.db" в таблице WC_LOCK.
Просто откройте файл "wc.db" с помощью редактора SQLite и выполните
удалить из WC_LOCK
Решение было дано в другой ссылке, которую я не могу найти прямо сейчас. Но на самом деле это действительно исправление; не беспокоясь об удалении всех каталогов
Ответ 6
Я исправил его, удалив скрытую папку .svn
и заменив ее на новую проверку .svn
, и она сработала. Вероятно, эта скрытая папка перепуталась!
Ответ 7
Я уверен, что он отлично работает для вас
Перейти к папке SVN верхнего уровня.
Щелкните правой кнопкой мыши по папке (с вашими svn файлами) → TortoiseSVN → CleanUp
Это, безусловно, решит вашу проблему.
Ответ 8
Если вы парень Windows и используете пользователя Tortoise SVN.
Выберите файл. Щелкните правой кнопкой мыши.
Опция "Tortoise SVN" → получить Lock.
Используйте опцию "Украсть замок".
Ответ 9
ошибка "рабочая копия заблокирована",
Просто выполните следующие действия:
- В каком каталоге вы получаете сообщение об ошибке при обновлении
- Перейдите в родительский каталог
- В родительском каталоге перейдите в скрытый каталог ".svn"
- Удалить файл с именем "lock"
- Очистка и выполнение
Вы можете обновить svn правильно без ошибок
Ответ 10
У меня возникли те же проблемы, что и вы описали. Кажется, это ошибка в Tortoise 1.7.3. Я вернул обратно к 1.7.2, выполнил очистку и обновление.
Теперь мой SVN/Tortoise снова отлично работает
Ответ 11
Для PHPStorm или Intellij:
VCS -> Cleanup Project
Ответ 12
Черепаха svn → очистка
Все в SVN
Ответ 13
Как только вы получите ошибку рабочей копии, просто запустите svn cleanup
, который очищает все ненужные файлы и папки. Если все еще возникает ошибка, сделайте одно.
Скопируйте файлы на другой диск и удалите папку или файл рабочей копии, а затем сделайте обновление, которое вы получите в новом файле, после чего замените его обновленной копией и зафиксируйте то же самое.