Когда я пытаюсь обновить некоторые файлы из Subversion, я получаю сообщение об ошибке:
org.tigris.subversion.javahl.ClientException:
Checksum mismatch while updating 'D:\WWW\Project\\.svn\text-base\import.php.svn-base'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd669dce5300d7035eccb543461a961e'
Почему я это получаю? Как я могу это исправить?
В случае , если вы используете SVN 1.7+ есть обходной путь описан здесь .
Напомним:
svn update --set-depth empty
(обратите внимание: это приведет к удалению ваших файлов, поэтому сначала сделайте копию!)svn update --set-depth infinity
источник
У меня была такая же проблема. Основным провайдером был антивирус «FortiClient» (антивирус + VPN-клиент). Когда я отключил его - все обновления / проверки были сделаны правильно
источник
Я нашел более простой способ решить эту проблему. Вы не можете сделать это прямо из затмения. шаги:
Это восстановит базовую текстовую папку в .svnfolder. Несовпадение контрольной суммы при обновлении ошибка больше не появится.
источник
Это случилось со мной, когда я использовал плагин Eclipse и синхронизировал его. В файле, вызывающем проблему, не было локальных изменений (и фактически не было удаленных изменений с момента моего последнего обновления). Я выбрал «возврат» для файла без каких-либо других изменений в файлах, и все вернулось к норме.
источник
У меня была такая же ошибка, но для одного файла. В IntelliJ IDEA я смог сделать копию файла, затем перейти в проект и удалить соответствующий файл, а затем успешно выполнить фиксацию. Затем я создал новый файл с тем же именем и скопировал в него содержимое. Я предполагаю, что вы потеряете историю изменений, но это работает.
источник
Если с вами работает коллега:
1) попросите его переименовать файл, вызывающий проблемы, и
commit
2) вы
update
(теперь вы видите файл с неверной контрольной суммой с другим именем)3) переименуйте его обратно в исходное имя
4)
commit
(и попросите коллегуupdate
вернуть имя файла в исходное состояние)Это решило проблему для меня.
источник
Я нашел очень хорошее решение, которое решило мою проблему. Хитрость заключается в том, чтобы отредактировать svn DB (wc.db).
Решение описано на этой странице: http://www.exchangeconcept.com/2015/01/svn-e155037-previous-operation-has-not-finished-run-cleanup-if-it-was-interrupted/
Если ссылка не работает, просто посмотрите и следуйте этим инструкциям:
Я использовал инструмент sqlite из http://sqlitebrowser.org/ .
источник
Я использую Tortoise SVN, после того, как все решения на этой странице не работают,
Я наконец создаю резервную копию проблемного файла. и используйте для
Repo Browser
удаления проблемного файла в нем, затем обновите локальную папку, чтобы файл в локальной папке был удален. Затем скопируйте файл резервной копии, иAdd > Commit
я смогу успешно обновить.Единственный минус этого метода - история этого файла будет удалена.
источник
Чтобы решить эту проблему, выполните следующие действия:
Если все равно не работает. Попробуйте эти. Это просто обходной путь:
Это получит последнюю версию файла из репозитория, и все конфликты будут разрешены.
источник
была похожая проблема на сервере, но каталог SVN был очень большим, не хотелось удалять и повторно синхронизировать файлы, поэтому я просто сделал копию файлов локально, а затем удалил их. После успешного обновления и добавления файлов обратно в.
источник
попробуйте удалить файл и удалить ссылку на файл из файловых записей в каталоге .svn
источник
У меня была аналогичная ошибка и исправлена следующим образом:
(Мое «исправление» основано на предположении, которое может быть верным, а может и не быть, поскольку я не так много знаю о том, как работает Subversion изнутри, но это определенно сработало для меня)
Я предполагаю, что .svn \ text-base \ import.php.svn-base должен соответствовать последней фиксации.
Когда я проверил файл, в котором была ошибка, базовый файл НЕ соответствовал последней фиксации в репозитории.
Я скопировал текст из последнего коммита и сохранил его в папке .svn, заменив неправильный файл (сделал резервную копию на случай, если мои предположения ошибочны). (файл был помечен только для чтения, я сбросил этот флаг, перезаписал и снова установил его только для чтения)
Тогда я смог успешно совершить коммит.
источник
Мое решение было:
источник
1. 'обновить до возврата' проверить 'только этот элемент' в каталоге 2. обновить еще раз проверить 'Полностью рекурсивный'
источник