当我在svn中提交文件时,我经常会遇到这样的情况:在传输完所有文件后,svn会挂起,然后最终超时,错误为svn: E175012: Connection timed out
。
当我上传超过20个文件时,似乎就会发生这种情况。
我相信在将所有文件传输到服务器之后会发生这种情况,因为在控制台中Transmitting file data
之后将停止添加新句点,或者已将所有文件列为已在Tortoise中发送的文件。此外,如果我然后从存储库进行更新,我会为我刚刚尝试提交的所有文件进行合并(或者,更令人烦恼的是,要解决大量的冲突),然后当我再次提交时,没有任何内容提交 - 可能意味着所有文件都是第一次成功传输。
可能导致这种情况的原因是什么?看起来客户端正在等待来自服务器的“全部完成”消息,该消息永远不会返回到我的PC上?
我们的设置是客户端上的TortoiseSVN 1.8.2和服务器上的VisualSVN Server 2.7。
我在服务器上的VisualSVN事件日志中检查了错误消息,但没有。这种情况发生在办公室网络和VPN上,无论是使用Wi-Fi还是有线连接。
答案 0 :(得分:7)
重要的是要知道提交修订版数据需要多长时间(转移完成的时间和发生timeout
错误的时间。
并且不要忘记检查是否有任何提交后挂钩脚本正在处理您的提交。
如果您的提交包含一些大文件,则此错误可能是数据传输过程中仅发生超时的结果。要解决此问题,请按照下列步骤操作:
验证客户端http-timeout
中是否自定义了%APPDATA%\Subversion\servers
。将它的值增加到900
并查看问题是否已解决是有意义的。
如果上述方法无效,请在服务器端增加TimeOut
。
%VISUALSVN_SERVER%conf\httpd-custom.conf
添加以下行并保存文件:
TimeOut 900
停止 - 启动VisualSVN Server实例循环。
可以在以下位置找到有关“TimeOut”指令的文档 http://httpd.apache.org/docs/2.2/mod/core.html#timeout