嗨朋友们,
我从去年开始就在使用 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 服务器安装有不间断电源。换句话说,您应该确保断电不会导致服务器立即意外关闭。
需要注意的是,如果出现可能影响存储库的电源或磁盘故障,那么您不应该向那些给您带来错误的存储库提交任何实际工作。新提交的数据有可能会丢失。
以下是电源或磁盘故障时必须执行的操作的简短列表:
Test-SvnRepository
PowerShell cmdlet 或 svnadmin verify
工具以检查其一致性,chkdsk
工具来验证存储,如果存储库或其中某些存储库损坏,您必须恢复备份。
重要: 您必须将备份恢复到空目录,以确保恢复的存储库文件不会与损坏的文件混合。存储库恢复后,您可以删除损坏的存储库,然后用恢复的存储库替换它。在恢复后立即使用
svnadmin verify
检查恢复的存储库也是有意义的。启动VisualSVN Server的服务。