嗨 friend 们,

我从去年开始使用 Visual SVN 并定期进行备份,但今天清晨我在进行备份时遇到问题,当我执行备份脚本时出现以下错误。

* Dumped revision 1.
* Dumped revision 2.
* Dumped revision 3.
* Dumped revision 4.
svnadmin: E140001: Zlib <Uncompress>: Corrupt Data: decompression of Svndiff data failed.

请指导我如何解决它。

最佳答案

该行为似乎是由于磁盘/电源故障导致存储库损坏的结果。你已经运行 chkdsk 了吗?你有备份可以恢复吗?

根据 svnadmin dump 的输出,存储库已损坏,必须从备份中恢复。最好和最简单的方法是从磁盘损坏发生之前进行的健康备份中恢复存储库。

我想指出的是,Subversion 会尽其所能来防止此类问题。但是,在操作过程中发生的电源或磁盘故障仍可能导致存储库损坏。您应该确保在生产 VisualSVN 服务器安装上有不间断电源。换句话说,您应该确保断电不会导致服务器立即和意外关闭。

需要注意的是,如果存在可能影响存储库的电源或磁盘故障,那么您不应向那些给您带来错误的存储库提交任何实际工作。新提交的数据有可能会丢失。

以下是电源或磁盘故障时您必须执行的操作的简短列表:

  • 将您的存储库脱机,例如通过停止 VisualSVN 服务器的 HTTP 服务,
  • 针对每个存储库运行 Test-SvnRepository PowerShell cmdlet 或 svnadmin verify 工具以检查其一致性,
  • 运行 chkdsk 工具验证存储,
  • 如果存储库或其中一些存储库损坏,则必须恢复备份。

    重要提示: 您必须将备份恢复到空目录,以确保恢复的存储库文件不会与损坏的文件混合。存储库恢复后,您可以删除损坏的存储库,然后将其替换为恢复的存储库。在恢复后立即使用 svnadmin verify 检查恢复的 repo 也是有意义的。
  • 启动 VisualSVN Server 的服务。
  • 关于svn - svn diff 数据解压失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22989989/

    10-13 05:45