有时我在更新svn存储库时收到错误“413 Request Entity Too Large”。收到此错误后,每次尝试更新本地工作副本时都会继续。新的结账将解决问题,但非常不方便。该项目超过30 GB,SVN存储库在外部托管。
过去曾在几台不同的计算机上发生这种情况,包括Windows开发机器和我们的Linux构建服务器。
我发现的关于此问题的大部分内容都与大型个人文件(超过2GB)有关。这不是这种情况,因为最大的文件大约是。 50-60 MB。
之前有没有其他人遇到此问题和/或知道原因/解决方案?
答案 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
修复了此问题。我将LimitXMLRequestBody
和LimitRequestBody
保留在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