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 Server 的 HTTP 服务,
- 运行
Test-SvnRepository
针对每个存储库使用 PowerShell cmdlet 或 svnadmin verify 工具来检查其一致性, - 运行
chkdsk
工具来验证存储, 如果存储库或其中某些存储库损坏,您必须恢复备份。
重要:您必须将备份恢复到空目录,以确保恢复的存储库文件不会与损坏的文件混合。存储库恢复后,您可以删除损坏的存储库,然后用恢复的存储库替换它。在恢复后立即使用
svnadmin verify
检查恢复的存储库也是有意义的。启动 VisualSVN Server 的服务。
关于svn - svn diff数据解压失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22989989/