Рабочая копия заблокирована

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

Вот история:

У меня

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, который очищает все ненужные файлы и папки. Если все еще возникает ошибка, сделайте одно.

Скопируйте файлы на другой диск и удалите папку или файл рабочей копии, а затем сделайте обновление, которое вы получите в новом файле, после чего замените его обновленной копией и зафиксируйте то же самое.