Почему я продолжаю получать SVN: Рабочая копия XXXX заблокирована; попробуйте выполнить «очистку»? - PullRequest
45 голосов
/ 01 февраля 2011

Если вы раньше работали с инструментами SVN в Eclipse (Subversion, subversive), то вы, вероятно, знакомы с ошибкой «рабочая копия» XXX «заблокирован ...».

Я нашел очень полезнуюсообщение с обходным путем для этой проблемы по адресу: Рабочая копия XXX заблокирована, и очистка не удалась в SVN

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

Контекст: я создаю плагин Eclipse, который включает прослушивание событий SVN, поэтому при тестировании этого плагина я постоянно открываюсь изакрытие рабочего пространства. Обычно я делаю 1 или 2 коммита каждый раз, когда открываю рабочее пространство. Время от времени коммит завершается неудачей, и я получаю ошибку «Рабочая копия заблокирована». Я бы хотел, чтобы эта ошибка больше не возникала, поэтому любые советыценится.

Спасибо!

Ответы [ 11 ]

81 голосов
/ 01 июля 2013
  1. Выберите проект
  2. Щелкните правой кнопкой мыши по выбранному проекту
  3. Команда -> Очистка

Проблема решена.

Примечание. Вышеуказанные шаги будут работать только для Eclipse (пакет Indigo)

14 голосов
/ 01 февраля 2011

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

9 голосов
/ 01 февраля 2011

У меня раньше было много проблем с SVN, и одна вещь, которая определенно вызывала у меня проблемы, это изменение файлов вне Eclipse или удаление папок вручную (которое содержит папки .svn), что, вероятно, доставило мне больше всего проблем ,

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

4 голосов
/ 19 ноября 2014

Убедитесь, что вы точно очистили то, что говорит консоль. Например, если подпапка (пакет) заблокирована:

   svn: E155004: Commit failed (details follow):
  svn: E155004: Working copy 'C:\Users\laura\workspace\tparser\src\de\test\order' locked
  svn: E155004: 'C:\Users\laura\workspace\tparser\src\de\test\order' is already locked.

очистка C: / Users / liparulol / рабочая область / tparser / src / de / mc / etn / parsers / order

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

3 голосов
/ 07 апреля 2016

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

  1. Запустите команду svn commit, чтобы узнать, какая папка пошла не так.
  2. смените каталог на эту папку и запустите svn cleanup. Тогда это сделано.
3 голосов
/ 28 февраля 2011

После дополнительных исследований и тестирования выясняется, что эта проблема была вызвана отладкой плагина и использованием точек останова. Очевидно, что SVN / Subclipse не нравилось иметь точки останова в середине их выполнения, и в результате создавались эти файлы блокировки. Как только я начал просто запускать плагин, эта проблема исчезла.

2 голосов
/ 21 марта 2017

Следующее должно разблокировать заблокированную рабочую копию (проверено на клиенте svn версии 1.6.11 и elipse: Mars.2 Release (4.5.2))

шаг 1: (перейти в каталог рабочей копии)$ cd working_copy_dir

шаг 2: (подключиться к базе данных svn sqlite) $ sqlite3 .svn / wc.db

шаг 3: (удалить все записи из таблицы WC_LOCK) sqlite> удалить из WC_LOCK;

шаг 4: (отключение от базы данных sqlite 3) sqlite> ctrl + d

шаг 5: (из затмения) щелкните правой кнопкой мыши рабочую копию, затем выберите команду «Команда» -> «Обновить / Очистить»

2 голосов
/ 27 августа 2011

У меня была такая же проблема при использовании пакета com.xxx.service.model.

Чтобы исправить это, я сначала сделал резервную копию изменений кода в пакете модели.Затем удалил модель пакета и синхронизировал с хранилищем.Он покажет входящие всю папку / пакет.Затем обновил мой код.

Наконец, вставьте старый код в SVN Repository.Работает нормально.

1 голос
/ 02 декабря 2011

Это случилось со мной, когда я скопировал каталог из другого проекта subversion и попытался зафиксировать. Решением было удалить директорию .svn внутри директории, которую я хотел зафиксировать.

0 голосов
/ 04 января 2017

Решение: Шаг 1: Необходимо удалить файл «lock», который присутствует в скрытом файле «.svn». Step2: В случае, если файл «lock» отсутствует, вы увидите «we.db», вам нужно открыть эту базу данных и удалить только одно содержимое из следующих таблиц - lock - wc_lock Шаг 3: Очистить ваш проект Шаг 4: Попробуйте зафиксировать сейчас. Шаг 5: Готово.

...