有时我在更新 svn 存储库时收到错误“413 请求实体太大”。一旦收到此错误,每次我尝试更新本地工作副本时都会继续出现此错误。新的结账方式可以解决问题,但是很不方便。该项目超过 30 GB,SVN 存储库托管在外部。
这种情况过去曾在多台不同的计算机上发生过,包括 Windows 开发计算机和我们的 Linux 构建服务器。
我发现的有关此问题的大部分内容都与大型单个文件(超过 2GB)有关。这里的情况并非如此,因为最大的文件约为。 50-60 MB。
有其他人之前遇到过这个问题和/或知道这个问题的原因/解决方案吗?
尝试将以下配置指令添加到您的 Apache 配置文件中:
LimitXMLRequestBody 8000000
LimitRequestBody 0
我无法访问我的存储库服务器(IT 托管,周末)。 所以我发现我可以通过对子目录进行 svn update 来解决这个问题,直到它不起作用为止。 然后我进入这个目录,直到不再收到 413 错误。 然后我就可以进行更高级别的更新。 可能并不适合所有人,但可以在紧急情况下帮助渡过难关
根据 MDH 的回答,制作了一个简短的 bash 脚本来循环子目录:
for dir in *; do
[[ -e $dir ]] || continue
echo "Updating $dir"
svn up $dir
done
svn up
我最近在任何超过 10MB 的文件上都遇到了这个问题。 事实证明我忘记了我正在使用 nginx 代理 svn/apache 服务器。 更改
client_max_body_size
中的 nginx.conf
解决了该问题。我在 Apache 服务器上保留了 LimitXMLRequestBody
和 LimitRequestBody
的默认设置。
如果无法访问服务器,您还可以使用 ctrl+A 选择所有文件夹,然后右键单击以使用 tortoise svn 等单独更新所有文件夹。与 @lucrussell 的解决方案基本相同。
此外,如果您运行
mod_security
,请考虑检查您的 SecRequestBodyLimit
设置。 我的设置太低,导致了问题。