如何迁移具有 svnadmin 的 SVN 存储库:解压缩 svndiff 数据失败

How to migrate a SVN repo that has a svnadmin: Decompression of svndiff data failed

我正在尝试从远程主机迁移 SVN 存储库,但是在该主机上使用来自 cli 的 svnadmin,我在 6372 修订版后收到此错误:

Dumped revision 6372 
svnadmin: E185005: Decompression of svndiff data failed

我还没有 运行 fsfsverify,因为我没有可用的备份,只有出现此错误的备份。

可以简单地将 svn 复制粘贴到另一个系统才能工作,或者如果我只能 migrate/Backup 使用 svnadmin 命令?

远程主机公司这周才给我们关闭那个 SVN,以便可以迁移其他应用程序。

为避免将来出现此类问题,您需要定期验证存储库的一致性并进行备份。

So my question is if I can simply copy paste the svn to another system to be able to work, or if I can only migrate/Backup using the svnadmin command.

是的,您可以将存储库 as-is 复制到另一台计算机,如果您的远程托管公司允许您这样做的话。确保在开始之前停止 svnserve 或 Apache 服务 - 这将确保在复制时不使用存储库。

Dumped revision 6372 
svnadmin: E185005: Decompression of svndiff data failed

您的存储库有至少一个 损坏的修订,必须手动修复。主要有两条路线:

  • 找到此存储库的健康备份并使用它来恢复存储库的一致性。恢复备份 as-is 或使用其数据替换损坏的修订版。 IE。, 您需要创建当前存储库的副本并查找 non-corrupt 备份。用备份中的文件替换存储库副本中损坏的修订文件。使用 svnadmin verify 检查存储库的一致性。
  • 如果您没有备份,您可能需要用空修订替换损坏的修订以恢复存储库的一致性。通常,这将涉及使用 svnadmin dump 转储所有健康的修订并将它们加载到一个新的空存储库中。所有损坏的修订版都必须手动替换为空修订版(例如,通过使用 svnadmin dump.
  • 加载空修订版)