svn diff数据的解压缩失败

时间:2014-04-10 13:50:09

标签: svn visualsvn-server svnadmin

朋友们,

我从去年开始使用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.

请指导我如何解决它。

1 个答案:

答案 0 :(得分:0)

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

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

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

请务必注意,如果电源或磁盘发生故障可能会影响存储库,则不应将任何实际工作提交给那些导致错误的存储库。新提交的数据有可能丢失。

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

  1. 将您的存储库置于脱机状态,例如通过停止VisualSVN服务器的HTTP服务,
  2. 针对每个存储库运行Test-SvnRepository PowerShell cmdlet或svnadmin verify工具,以检查其是否一致,
  3. 运行chkdsk工具以验证存储空间
  4. 如果存储库或其中一些存储库已损坏,则必须还原备份。

    重要信息:您必须将备份恢复到空目录,以确保已还原的存储库文件不会与已损坏的文件混合。恢复存储库后,您可以删除损坏的存储库,然后将其替换为已恢复的存储库。恢复后立即使用svnadmin verify检查恢复的仓库也是有意义的。

  5. 启动VisualSVN Server的服务。