SVNAdmin加载返回校验和不匹配

我试图加载一个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 

我怎样才能绕过这个错误,继续加载转储文件?

谢谢!

可能性包括损坏的存储库,转储过程中损坏的转储文件或手动编辑的转储文件(尝试更改path…?)。

如果你正在尝试改变path,可能会有修改贪婪的修改内容,而不是修改条目标题。

如果您没有办法重新转储并重试(或者如果这样做有同样的问题),请尝试使用svndumpfilter来排除该文件和其他有问题的文件。

要恢复这些文件,你可以非常仔细地修补转储文件,以获得正确的校验和(Text-content-md5 ?,但validation文件没有损坏),或者从结帐/工作副本中获取它们(或者从文本和转储中的三angular洲)。

我build议使用svndumptool脚本

  • 使用check命令validation转储
  • 修复平台特定的行尾( eolfix )并生成正确的校验和
  • splitmerge转储
  • 以及更多

在你的具体情况下, sanitize命令应该修复你的转储检查总和。 但是,那么需要深入检查加载的存储库内容。

真的是高级Subversion版本库转储操作的必备工具。

有这个问题过滤我的转储后https://github.com/jasperlee108/svndumpfilterIN

修正了删除md5校验和:

 sed -i '/Text-copy-source-md5/d' your.dmp 

但是,可能会有一些后果…