在svn上

时间:2016-09-05 14:08:54

标签: eclipse apache svn

我们正在使用SVN和ubuntu 14.04以及eclipse subversion和apache。当我们提交小文件时,它工作正常。但是当我们尝试提交大文件时,会出现以下错误。      eclipse错误:     部分选定资源未提交。     部分选定资源未提交。     svn:E175002:提交失败(详情如下):     svn:E175002:提交失败(详情如下):     svn:E175002:无法读取HTTP状态行     svn:E175002:'/ svn / test /!svn / wrk / 953b88fa-5601-0010-8146-c3b0661fb4b6 / trunk / * / TokenManagerImpl.java'

上的PUT请求失败
apache error.log 

[Mon Sep 05 19:12:18.533736 2016] [dav:error] [pid 26083:tid 140002512074496] (70007)The timeout specified has expired: [client 182.75.153.50:56725] Timeout reading the body (URI: /svn/test/!svn/wrk/953b88fa-5601-0010-8146-c3b0661fb4b6/trunk/*/TokenManagerImpl.java)  [408, #0]
[Mon Sep 05 19:12:18.533851 2016] [dav:error] [pid 26083:tid 140002512074496] [client 182.75.153.50:56725] mod_dav_svn close_stream: error closing write stream  [500, #185004]
[Mon Sep 05 19:12:18.533876 2016] [dav:error] [pid 26083:tid 140002512074496] [client 182.75.153.50:56725] Unexpected end of svndiff input  [500, #185004]

Below is apche timeout configuration (apache.conf)
Timeout 300
KeepAlive On
MaxKeepAliveRequests 250
KeepAliveTimeout 20
LimitRequestBody 0

Below is reqtimeout.conf 
<IfModule reqtimeout_module>
       RequestReadTimeout header=200-400,minrate=5000
       RequestReadTimeout body=1000,minrate=5000
</IfModule>

2 个答案:

答案 0 :(得分:1)

似乎无效的RequestReadTimeout配置是根本原因。您不应该为body设置特殊超时。

Apache Subversion将提交数据作为请求主体传输,其大小取决于提交的大小。因此,使用您当前拥有的配置,所有超过约1000秒的提交操作都将对您的用户失败。

答案 1 :(得分:0)

以防万一其他人在这里结束:

通过http

提交svn

大型二进制文件~80MB。

传输文件数据。

svn:E185004:提交失败(详情如下):

svn:E185004:svndiff输入的意外结束

更改标头的apache2 reqtimeout.conf文件。

(症状是svn提交会在40秒后嘶哑...)

    RequestReadTimeout header=200-400,minrate=500

为我修好了。 “你的里程可能会有所不同......”