SVN-несоответствие контрольной суммы при обновлении
когда я пытаюсь обновить некоторые файлы из Subversion, я получаю сообщение об ошибке:
org.tigris.subversion.javahl.ClientException:
Checksum mismatch while updating 'D:WWWProject.svntext-baseimport.php.svn-base'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd669dce5300d7035eccb543461a961e'
почему я получаю это? Как я могу это исправить?
15 ответов:
самый простой способ исправить это (если у вас не так много изменений) - скопировать изменения в другой каталог, удалить каталог, в котором ваш проект извлечен, и снова извлечь проект.
затем скопируйте свои изменения обратно (не копируйте их .SVN folders) и зафиксировать, и продолжить.
в случае, если вы используете SVN 1.7+ есть описанный обходной путь здесь.
для справки:
- перейдите в папку с файлом, вызывающим проблемы
- выполнить команду
svn update --set-depth empty(Примечание: это приведет к удалению файлов, поэтому сначала сделайте копию!)- выполнить команду
svn update --set-depth infinity
эти шаги хорошо работали для меня
перейдите в папку с файлом, вызывающим проблемы
выполнить команду
svn update --set-depth empty(Примечание: это будет удалите свои файлы, поэтому сначала сделайте копию!)выполнить команду
svn update --set-depth infinity
У меня была проблема simllar. Основным провайдером был антивирус "FortiClient" (антивирус + VPN клиент). Когда я отключил его - все обновления / проверки были сделаны правильно
Я нашел более простой способ решения этой проблемы. Вы не можете сделать это непосредственно из eclipse. Шаги:
- перейдите к структуре папок рабочего пространства в windows
- переименовать папку
- обновить в eclipse
- Теперь папка и файлы будут удалены из проекта в eclipse и появятся в новой переименованной папке
- Теперь попробуйте "синхронизировать с Respository" вариант.
это восстановит базовую папку текста в.svnfolder . Несоответствие контрольной суммы при обновлении ошибки больше не появится.
Это произошло со мной с помощью плагина Eclipse и синхронизации. Файл, вызывающий проблему, не имел локальных изменений (и на самом деле никаких удаленных изменений с момента моего последнего обновления). Я выбрал "revert" для файла, без каких-либо других изменений в файлах, и все вернулось в нормальное состояние.
У меня была такая же ошибка, но на один файл. В IntelliJ IDEA я смог сделать копию файла, затем войти в проект и удалить файл, о котором идет речь, а затем успешно зафиксировать. Затем, я сделал новый файл с тем же именем и скопировать содержимое в ней. Я думаю, вы потеряете историю изменений, но она работает.
чтобы решить эту проблему, выполните следующие действия:
- откройте файл записей, расположенный внутри .svn каталог, где вы получаете сообщение об ошибке.
- найдите запись для файла, дающего ошибку, и замените ожидаемое значение фактическим значением ошибки.
- Теперь синхронизируйте и попробуйте обновить.
Если он все еще не работает. Попробовать это. Его просто обходной путь, хотя:
- удалить файл со своего система.
- удалить запись файла из файла записей. (Начиная от имени файла до специальных символов).
- Теперь синхронизируйте и обновите файл.
Это позволит получить последнюю версию файла из репозитория и все конфликты будут решены.
была аналогичная проблема на сервере , но каталог SVN был очень большим, не хотел удалять и повторно синхронизировать, поэтому я просто сделал копию файлов локально, а затем удалил их. Когда обновление завершилось успешно и добавлены файлы обратно.
У меня была похожая ошибка и исправлена следующим образом:
(мое "исправление" основано на предположении, которое может быть или не быть правильным, поскольку я не знаю, как subversion работает внутри, но это определенно сработало для меня)
Я предполагаю, что .svn\text-base\import.РНР.ожидается, что svn-base будет соответствовать последней фиксации.
когда я проверил файл, в котором у меня была ошибка , базовый файл не соответствовал последней фиксации в хранилище.
Я скопировал текст из последней фиксации и сохранил его в памяти .svn папка, заменив неверный файл (сделал резервную копию в случае, если мои предположения были неверны). (файл был отмечен только для чтения, я очистил этот флаг, перезаписал и вернул его только для чтения)
Я был тогда в состоянии совершить успешно.
если у вас есть коллега, с вас:
1) попросите его переименовать файл, вызывающий проблемы и
commit2) вы
update(теперь вы видите файл с недопустимой контрольной суммой с другим именем)3) переименовать его обратно в исходное имя
4)
commit(и попросить вас коллегаupdateчтобы вернуть файл в исходное состояние)это решило проблему для меня.
Я нашел очень хорошее решение, что решить моя проблема. Хитрость заключается в том, чтобы изменить СВН ДБ (душевая кабина, туалет.децибел.)
решение описано на этой странице : http://www.exchangeconcept.com/2015/01/svn-e155037-previous-operation-has-not-finished-run-cleanup-if-it-was-interrupted/
Если ссылка не работает, просто посмотрите и следуйте этим инструкциям:
Я использовал инструмент sqlite из http://sqlitebrowser.org/.
мое решение было:
- выполнить очистку svn из файловой системы
- переключиться на другую ветку
- разрешать конфликты
- переключиться на" проблемную " ветку
- выполнить очистку из Spring Tool Suite
- Выполнить Обновление Проекта
1."обновить до реверсии "проверьте" только этот элемент " в каталоге 2.обновление снова проверьте 'полностью рекурсивный'

Comments