Подтвердить что ты не робот

Почему я продолжаю получать "SVN: рабочая копия XXXX заблокирована; попробуйте выполнить" очистку"?

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

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

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

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

Спасибо!

4b9b3361

Ответ 1

  • Выберите проект
  • Щелкните правой кнопкой мыши на выбранном проекте
  • Команда → Очистка

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

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

Ответ 2

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

Ответ 3

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

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

Ответ 4

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

   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:/Пользователи/liparulol/workspace/tparser/src/de/mc/etn/parsers/order

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

Ответ 5

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

Ответ 6

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

  • запустите команду svn commit, чтобы узнать, какая папка поступила не так.
  • смените каталог на эту папку и запустите svn cleanup. Затем это сделало.

Ответ 7

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

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

Наконец, вставьте старый код в репозиторий SVN. Он отлично работает.

Ответ 8

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

Ответ 9

Следующее должно разблокировать заблокированную рабочую копию (протестирована на версии svn версии 1.6.11 и версии elipse: выпуск Mars.2 (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: (из затмения) щелкните правой кнопкой мыши на рабочей копии, затем выберите команду "Команда" → "Обновить/очистить"

Ответ 10

Этот тип проблемы может возникать, когда вы удаляете/перемещаете файлы вокруг - по существу, внося изменения в структуру вашего каталога. Subversion проверяет только изменения, внесенные в файлы, уже добавленные в subversion, а не изменения, внесенные в структуру каталогов. Вместо использования команд копирования ОС и т.д. Скорее всего используйте svn-копию и т.д. См. http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html

Далее, после совершения изменений svn сначала сохраняет "сводку" изменений в списке задач. После выполнения операций svn в этом списке задач он блокирует файл, чтобы предотвратить другие изменения, в то время как эти действия svn выполняются. Если действие svn прервано на полпути, скажем, при сбое, файл останется заблокированным до тех пор, пока svn не сможет выполнить действия в списке задач. Это можно "реактивировать", используя команду очистки svn. См. http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html

Ответ 11

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