是什么导致svn错误413请求实体太大?

时间:2011-02-12 07:15:29

标签: svn

有时我在更新svn存储库时收到错误“413 Request Entity Too Large”。收到此错误后,每次尝试更新本地工作副本时都会继续。新的结账将解决问题,但非常不方便。该项目超过30 GB,SVN存储库在外部托管。

过去曾在几台不同的计算机上发生这种情况,包括Windows开发机器和我们的Linux构建服务器。

我发现的关于此问题的大部分内容都与大型个人文件(超过2GB)有关。这不是这种情况,因为最大的文件大约是。 50-60 MB。

之前有没有其他人遇到此问题和/或知道原因/解决方案?

7 个答案:

答案 0 :(得分:54)

尝试将以下配置指令添加到Apache配置文件中:

LimitXMLRequestBody 8000000
LimitRequestBody 0

答案 1 :(得分:37)

我无法访问我的repo服务器(IT Managed,以及周末)。所以我发现我可以通过在子目录上执行svn更新来解决这个问题,直到一个不起作用。 然后我下到这个目录,直到我停止得到413错误。然后我可以在更高级别进行更新。 可能不适合每个人,但可以帮助在紧急情况下通过

答案 2 :(得分:4)

我最近遇到了这个问题,任何超过10MB的文件。事实证明我忘了我用nginx代理svn / apache服务器。更改client_max_body_size中的nginx.conf修复了此问题。我将LimitXMLRequestBodyLimitRequestBody保留在Apache服务器上的默认值。

答案 3 :(得分:4)

根据mdh的回答,制作了一个简短的bash脚本来遍历子目录:

for dir in *; do
    [[ -e $dir ]] || continue
    echo "Updating $dir"
    svn up $dir
done
svn up

答案 4 :(得分:1)

此外,如果您运行mod_security,请考虑检查您的SecRequestBodyLimit设置。我的设置太低,造成了问题。

答案 5 :(得分:1)

如果无法访问服务器,则还可以使用ctrl + A选择所有文件夹,然后右键单击以使用svn乌龟等单独更新所有文件夹。基本上与@lucrussell的解决方案相同。

答案 6 :(得分:0)

另请参阅:RequestReadTimeout,它限制读取标题和正文的时间 http://httpd.apache.org/docs/2.2/mod/mod_reqtimeout.html