svn - svn diff数据解压失败

标签 svn visualsvn-server svnadmin

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 服务器安装有不间断电源。换句话说,您应该确保断电不会导致服务器立即意外关闭。

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

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

  1. 使您的存储库离线,例如通过停止 VisualSVN Server 的 HTTP 服务,
  2. 运行Test-SvnRepository针对每个存储库使用 PowerShell cmdlet 或 svnadmin verify 工具来检查其一致性,
  3. 运行chkdsk工具来验证存储,
  4. 如果存储库或其中某些存储库损坏,您必须恢复备份。

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

  5. 启动 VisualSVN Server 的服务。

关于svn - svn diff数据解压失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22989989/

相关文章:

svn - 如何将项目添加到 svn 服务器?

svn - 创建一个 svn 存储库作为 https ://servername/svn in Windows?

windows - svnadmin load 子目录

svnadmin创建: Option Expected

svn - svndumpfilter 的问题不排除路径

svn - 如何将以点 (.name) 开头的文件夹添加到 SVN 的全局忽略列表中?

python - 如何使用python svn模块从SVN远程存储库中删除文件

c++ - 重置对源文件更改的检测

svn - 我的脚本是否必须更新 svn 服务器?

svn - VisualSVN - 设置存储库并设置访问权限以使用基本 Windows 身份验证 - 登录结果为 403?