Subversion застряла из-за"предыдущей операции не закончена"?

Если я попытаюсь обновить РЕПО subversion, он говорит, что я должен запустить cleanup. Если я запускаю cleanup, он говорит, что файл отсутствует. (Я удалил массивный каталог файлов, которые не удалось зафиксировать сегодня утром с моего домашнего компьютера, но затем я фиксирую тот же набор файлов с работы, и теперь мое домашнее РЕПО лопнуло). Итак, cleanup говорит:

очистка не удалось обработать blablabla не удается установить файл blablabla чтение-запись: система не может найти указанный файл.

Если я обновлю его говорит:

команда: ошибка обновления: предыдущая операция не завершена; запустите "cleanup", если он был прерван ошибка: пожалуйста, выполните Команда "очистка". Закончено!:

Как мне это отклеить?

29 ответов


Я был в подобной ситуации. Вы пробовали запустить cleanup из корня рабочей области? Я знаю, что иногда очистка из дочернего каталога (где лежит проблема) не работает, а очистка из корня рабочей области.

Если это все еще не удается, так как вы удалили дочерний dir где-то. Попробуйте также удалить 1 уровень выше из дочернего каталога (если это не корень) и повторите попытку обновления и очистки.

Если попытки очистки не успех на любом уровне, то ответ, К сожалению, проверка новой рабочей копии.


часто нет необходимости в новой проверке или копировании.

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

Кажется, что svn иногда застревает при обработке команд / операций. Все эти операции хранятся в файле базы данных туалетом.БД .папка svn.

скачать SQLite к моему каталогу проверки и бег!--3-->

sqlite3.exe .svn/wc.db "select * from work_queue"

вы можете получить список всех отложенных операций. Эти операции являются теми, на которые ошибка ссылается как на"не законченные".

под управлением

sqlite3.exe .svn/wc.db "delete from work_queue"

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


запуск консоли svn cleanup решил ту же проблему для меня.


У меня просто была аналогичная проблема. Запуск Process Explorer показал, что другая программа (Notepad++) имеет дескриптор файла в папку, которую SVN пытался удалить. Когда я закрыл Notepad++, "очистка" смогла успешно работать.


Я столкнулся с этой проблемой после добавления банки, которая уже находится в SVN, и я добавил новую версию с тем же именем.

в Eclipse я попробовал это

  1. правый клик по папке - > команда - > обновления/очистки.
  2. очистить, построить и обновить мое приложение.
  3. перезапустите Eclipse.

используя вышеуказанные шаги я могу синхронизировать.


пытается запустить очистку, пока ваши файлы открыты дала мне проблемы. как только я закрыл свое приложение (Visual studio), я запустил очистку, и это было успешно


Я пробовал самые проголосовавшие ответы здесь и несколько других безрезультатно. Мой WORK_QUEUE таблица была пуста, и я не смог попробовать очистить в более высокой папке. Что?!--2-->сделал работа была следующей (это через Tortoise SVN);

  • Правой Кнопкой Мыши на папке
  • перейти к TortoiseSVN - > очистить...
  • убедитесь, что опция для взлома блокировок отмечена галочкой и нажмите OK

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


У меня такая же проблема, в моем случае я использовал SVN tortoise с приложением, которое я имею в виду. Используя оболочку cmd windows в корневом режиме, я применил очистку svn, а затем обновление svn.... Затем вы можете вернуться в режим приложения и он будет отлично работать!


Я попытался удалить .папка svn в другое место и поместила ее обратно в ту же корневую папку. После того, как я попытался обновить SVN, он обновился. Я не знаю, как именно это сработало.


У меня была такая же проблема, и каким-то образом я обнаружил, что у меня есть скрытый .svn-файл на уровне c:\. Как только я удалил эту скрытую папку (.СВН), все работало нормально. Должно быть, я непреднамеренно создал рабочий каталог на корневом диске.


в моем случае у меня был gulp-watch, который вызвал проблемы. После его остановки я мог выполнить команду Cleanup.


привет, ребята, в моих случаях после закрытия Visual Studio и повторите попытку очистки его работы желаю хорошо провести время


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


обходной путь, который работал для меня:

  1. вырезать содержимое каталога и копировать его в другую папку.
  2. запустите cleanup из командной строки в пустой папке.
  3. скопировать файлы обратно в исходную папку.

сделал, но я не могу объяснить, почему это происходит. Если вы не удалите файлы, команда очистки скажет, что он не может читать/писать эти файлы.


У меня была та же проблема, что и у меня:

  1. скопируйте свои папки и файлы в другое место, скажем, в папку (я недавно изменил свои файлы, и обязательство не удалось и привело к решению проблемы)
  2. проверьте новую рабочую копию
  3. скопируйте измененные файлы из папки в рабочую копию и переопределите существующие файлы. Фиксация / обновление должно работать сейчас

У меня была ошибка, такая как "не могу изменить perms файла" /Users/Code/UnitTest.СРР': нет такого файла или каталога". Subversion путается с файлом, которого больше нет. Я просто сделал что-то вроде "echo ABCD >> /Users/Code/UnitTest.cpp " для создания копии файла, затем очистка. Это сработало.


в моем случае ошибка появилась при попытке фиксации из среды IDE. Когда я выполнил фиксацию тех же каталогов с помощью TortoiseSVN в проводнике, операция прошла успешно.


Это произошло для меня при использовании внешних, и один из них был поврежден. Я должен был пойти в эту папку и выполнить очистку. Затем очистка работала для всей рабочей копии.

пример: использование external ^/widgets/foo common/foo-widget, сначала выполните очистку папки common/foo-widget.


Я решил эту ошибку сегодня, когда это произошло, пытаясь совершить SVN. Ошибка была подлинной, TortoiseSVN не мог получить доступ к файлу, который я пытался зафиксировать. Этот файл был сохранен при запуске программы "как администратор" в Windows. Это означает, что файл имеет доступ администратора, но не доступ из моей учетной записи (TortoiseSVN работает как интерактивный пользователь). Я взял на себя ответственность за назначенный файл под моей учетной записью windows, и после этого очистка смогла продолжаться.


Я также застрял с той же проблемой, которую я пробовал удар:

1.Попробуйте убить процесс, связанный с svn, т. е. TSVNCache.exe и TortoiseProc 2.Возврат неверсионных файлов и их удаление, которые у меня есть в svn . 3.очистка с помощью командной строки "svn cleanup"

и, наконец, при перезапуске рабочего стола он работал для меня, поэтому для перезапуска системы работал для меня


Я изначально получил эту проблему, пытаясь зарегистрироваться в TortoiseSVN. Первоначально оба, TortoiseSVN clean up и console svn cleanup, потерпели неудачу с аналогичными сообщениями как исходный плакат.

но мое решение, (узнал случайно) было просто подождать несколько минут. Я думаю, что TSVNCache держал некоторые из этих файлов во время регистрации.


выполните следующие действия.

1) Перейдите в каталог, где вы не можете успешно очистить через svn.(Корневая или дочерняя папка).

2) Выберите .svn папка в каталоге, вырежьте эту папку и вставьте ее в отдельный диск или отдельное местоположение (из каталога svn)

3) Теперь вернитесь в каталог-щелкните правой кнопкой мыши и выберите TortoiseSVN -->Repo-browser

4) Checkout папка (она не будет выполнять новую проверку).

5) Все ваши детали будут versioned снова, и оно отремонтирует внутренний вопрос svn, и проблема должна быть разрешена.


в моем случае был запущен фоновый экземпляр виртуальной машины Java, убив который очистка была успешной.


Я взял .SVN папка от моего товарища разработчика и заменила мою .папки в SVN с этим. У меня получилось. Не знаю, какие могут быть другие последствия!


по этой ссылке, https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html

Я заметил, что в учебнике были проверены верхние 6 параметров. В отчаянии я попробовал использовать эти флажки, и, к моему удивлению, это сработало. Обязательно внимательно прочитайте, что каждый из них делает. Глядя на описание каждого, они казались безопасными для меня, поэтому один из этих проверенных предметов, казалось, исправил какую-то проблему, удерживающую меня.


Это может произойти, когда у вас есть файлы, все еще открытые при попытке SVN switch / cleanup.

у меня была ветка, где я создал новый файл, который я открыл в другом приложении. Переключение на другую ветку не удалось удалить файл, вызывающий сбой коммутатора. Это также вызывало svn cleanup для сбоя, однако это не отображается как причина в пользовательском интерфейсе Tortoise SVN.

под управлением svn cleanup из окна консоли (в корневой папке) наглядно показывает ошибки file\location\file.ext: The process cannot access the file because it is being used by another process

закрытие любых открытых дескрипторов файлов / windows и запуск консоли svn cleanup затем позволяет очистке работать правильно.

длинная история короткаяsvn cleanup в консоли, чтобы увидеть более подробную ошибку.


далее к ответу Сигурда V (вы должны попробовать это сначала), некоторые большие базы кода имеют несколько '.папки svn, и это не обязательно тот, который находится в корневом каталоге с заблокированной задачей.

если это так, вы должны проверить каждый из них. Если у вас уже есть SQLite и Powershell, вы можете быстро найти каталог-нарушитель.

чтобы найти, какие папки заблокированы, запустите (замена path\to\sqlite.exe):

Get-ChildItem -Path . -Filter '.svn' -Recurse -Hidden | foreach { $toFind = $_.FullName + "\wc.db" ; gci $toFind | foreach { echo $_.FullName ; path\to\sqlite.exe $_.FullName "select * from work_queue" } }.

это дает список .каталоги svn и под каждым из них список любых текущих задач.

если есть какие-либо незавершенные задачи, для каждого запуска (замена path\to\sqlite.exe и path\to\.svn\wc.db):

path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"


Я видел несколько проблем с svn, включая этот, решается путем удаления / создания


пожалуйста, перейдите по этой ссылке. Это полностью решит вашу проблему.

перейдите в Главный каталог Правой Кнопкой Мыши - > Tortoise SVN - > Clean Up

https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html