SVN提交未完成

tom*_*dox 2 svn tortoisesvn visualsvn-server

当我在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还是有线连接.

bah*_*rep 7

重要的是要知道提交修订数据需要多长时间(转移完成的时间和发生timeout错误的时间).

并且不要忘记检查是否有任何提交后挂钩脚本正在处理您的提交.

如果您的提交包含一些大文件,则此错误可能是由于数据传输过程中的超时而导致的.要解决此问题,请按照下列步骤操作:

  • 验证是否在客户端上http-timeout自定义%APPDATA%\Subversion\servers.有意义的是增加它的价值900并查看问题是否已解决.

  • 如果上述方法没有帮助,请TimeOut在服务器端增加.

    1. %VISUALSVN_SERVER%conf\httpd-custom.conf在目标服务器上打开,
    2. 添加以下行并保存文件:

      TimeOut 900

    3. 停止 - 启动VisualSVN Server实例循环.

    有关"TimeOut"指令的文档可以在http://httpd.apache.org/docs/2.2/mod/core.html#timeout找到

  • 答案的关键点是"检查是否有任何提交后挂钩脚本正在处理您的提交".我在服务器上找到了一个旧的BugTracker.net post commit钩子.一旦我摆脱了检查,停止在最后一个文件之后暂停,并且从那以后没有完成提交.(对于确认这一年的延迟道歉) (4认同)