大型SVN结账偶尔会失败

dav*_*eza 21 svn windows apache xampp tortoisesvn

我目前在一个大型,完整的SVN存储库检出(20GB +)期间遇到问题,其中结帐过程将随机停止.存储库由许多小文本文件和一些大型CSV文件组成.

由于错误只会在结帐时弹出几个小时,因此很难缩小问题范围.从我所看到的,它不是一个停止进程的特定文件,并且使用svnadmin验证没有返回任何错误.

错误:

典型的Apache错误日志:

Unable to deliver content.  [500, #0]
Unable to deliver content.  [500, #0]
Could not write data to filter.  [500, #175002]
Could not write data to filter.  [500, #175002]
Provider encountered an error while streaming a REPORT response.  [500, #0]
A failure occurred while driving the update report editor  [500, #730053]
Run Code Online (Sandbox Code Playgroud)

眼镜:

服务器:运行XAMPP v1.8.2-5,Apache v2.4和SVN v1.8.9的Windows Server 2003.它最近从Apache v2.2和SVN v1.5.3更新,它遇到了类似的问题.

客户端:运行TortoiseSVN v1.8.8 x64的Windows 7,最近从v1.8.3 x64更新,遇到了类似的问题.命令行SVN v1.8.9.

我正在使用HTTP协议来执行结帐.


我试过的事情:

将Apache上的"TimeOut"指令设置为更高的值(最多30000秒).

将"SVNAdvertiseV2Protocol"指令设置为off.

将"SVNPathAuthz"指令设置为off.

将"SVNCompressionLevel"指令设置为"0".

ter*_*roi 11

我们最近遇到了同样的问题.到目前为止,我认为它与较新的颠覆客户端有关.

Apache dav_svn_module指令

SVNAllowBulkUpdates Prefer
Run Code Online (Sandbox Code Playgroud)

似乎有所帮助.将其添加到apache conf后,没有发现任何问题.在此之前,大多数大型结账都失败了.

我找到了一个讨论线程,它解释了与版本1.8.x更新的subversion客户端相关的问题. 查看邮件列表主题.


小智 1

根据 subversion 邮件列表上的这篇文章,这似乎是文件的编码问题。AddEncoding x-gzip .gz您可以在 apache 配置中查找条目并将其删除,或者将其添加到您的<Location /svn>\xe2\x80\xa6</Location>条目中:

\n\n
RemoveEncoding .gz\nRemoveEncoding .Z\n
Run Code Online (Sandbox Code Playgroud)\n\n

这实际上在变更日志中提到过,但我也不想读这个并通过艰难的方式学习它\xe2\x80\xa6

\n