Я пытаюсь загрузить файл дампа svn на свой сервер RHEL. Файл дампа был загружен с нашего старого сервера Ubuntu, и я использовал svnadmin create reponame
а потом svnadmin load --quiet reponame < dumpfilename
.
Через некоторое время я получаю следующее сообщение:
svnadmin: Checksum mismatch,
file '/images/lang_cards/large/2001_Lang_Valentines_inside_large.jpg':
expected: 97b1f37b81463ac88a3c2c18abfbb329
actual: 944edbcc7684cb736eca5ed2c0d1c12c
Как я могу обойти эту ошибку, чтобы продолжить загрузку файла дампа?
Спасибо!
Возможные варианты включают в себя поврежденный репозиторий, файл дампа, поврежденный во время передачи, или файл дампа, отредактированный вручную (попытка изменить пути ...?).
Если вы пытаетесь изменить пути, возможно, какое-либо исправление жадно затронуло содержимое ревизии, а не только заголовки записей ревизии.
Если у вас нет возможности выполнить повторный дамп и повторить попытку (или если при этом возникнет та же проблема), попробуйте svndumpfilter исключить этот файл и любые другие файлы с проблемами.
Чтобы восстановить эти файлы, вы можете очень осторожно исправить файл дампа, чтобы получить правильную контрольную сумму (Text-content-md5 ?, но убедитесь, что файл не поврежден), или получить их из проверок / рабочих копий (или извлечь и восстановить из текст и дельты в дампе).
Была эта проблема после фильтрации моего дампа с помощью https://github.com/jasperlee108/svndumpfilterIN
Исправлено с удалением контрольных сумм md5:
sed -i '/Text-copy-source-md5/d' your.dmp
Однако могут быть некоторые последствия ...
Я рекомендую использовать svndumptool скрипт
check
командаeolfix
) и формирование правильных контрольных суммsplit
или merge
свалкиВ вашем конкретном случае команда sanitize
должен исправить контрольные суммы в вашем дампе. Но тогда требуется глубокая проверка содержимого загруженного репозитория.
Действительно необходимый инструмент для расширенных манипуляций с дампом репозитория Subversion.