偶尔的 svn:E170013:无法连接到 URL 'https://svn .....' 处的存储库 svn:E730054:运行上下文时出错

Posted

技术标签:

【中文标题】偶尔的 svn:E170013:无法连接到 URL \'https://svn .....\' 处的存储库 svn:E730054:运行上下文时出错【英文标题】:Occasional svn: E170013: Unable to connect to a repository at URL 'https://svn.....' svn: E730054: Error running context偶尔的 svn:E170013:无法连接到 URL 'https://svn .....' 处的存储库 svn:E730054:运行上下文时出错 【发布时间】:2016-10-18 00:42:21 【问题描述】:

我需要关于 svn 错误 E170013 和 E730054 的帮助:

在命令行中执行命令“svn checkout...”时,出现错误

svn: E170013: Unable to connect to a repository at URL 'https://svn.....'
svn: E730054: Error running context: An existing connection was forcibly closed
by the remote host.

但是,如果我在之后(仅在接下来的 3 分钟内)运行相同的命令,则该命令会成功执行且没有错误,并且源代码已成功签出。

否则 3 分钟后(大约),如果我想再次结帐,我需要运行 svn checkout 命令,得到错误E170013 and E730054, 然后再次运行相同的命令,svn checkout 再次运行。

在我看来,在一段时间后(在我的情况下为 3 分钟),svn 客户端和 svn 服务器之间的套接字已关闭,并且尝试结帐和/或获取这些错误实际上是触发连接的原因再次重新开放。

换句话说,我的问题是,为了执行 svn checkout,第一次总是会失败,只有下一次尝试才会成功。一段时间后,我需要再次重复相同的步骤,并且总是执行两次“svn checkout”,这样第二个就可以了。

我的解释可能是错误的,但这是我得到的行为。我希望你能解决我的问题。

我想了解为什么会出现这种 svn 行为,导致这些错误的原因以及如何解决问题。

SVN server version: 1.8.13 (r1667537) compiled Mar 20 2015, 11:32:18 on x86_64-unknown-linux-gnu 

SVN client version: 1.9.3 (r1718519) compiled Dec 22 2015, 09:12:06 on x86_64-microsoft-windows6.2.9200

SVN Client running on Windows Server 2008 R2 and SVN server in linux machine. 

请随时提出任何问题。我很乐意为您提供更多信息。

非常感谢您。

【问题讨论】:

【参考方案1】:

我终于找到了解决办法。

我没有在 svncheckout 命令中写下链接 https://svn.....,而是使用服务器的数字 IP 地址(例如 192.168.73.39)而不是其主机名,并且它起作用了。

我希望这对某人有所帮助。

【讨论】:

我也设法使用此解决方案解决了问题。但我不明白为什么与我在同一网络中的其他用户不必使用数字 IP 地址?有什么想法吗?【参考方案2】:

对我来说,svn 试图通过 ipv6 进行连接,而远程服务器没有正确配置或支持 ipv6 的防火墙。 the mailing list 上的类似聊天建议编辑您的主机文件,这样您就只能通过对我有用的 ipv4 进行连接:/

【讨论】:

对,在 ipv6 连接上我遇到了同样的问题,但是当我用 ipv4 连接时它就可以工作了。我没有解释为什么会发生这种情况但有效。【参考方案3】:

首先,您必须检查服务器日志。必须有根本原因的线索。

其次,这个问题与 Subversion 无关。您必须检查网络配置并确保您的 Linux 机器正确接受所需端口和 IP 接口上的连接。

【讨论】:

或者repo的管理员已经“阻止”了他的机器? @BillalBEGUERADJ 这不是防火墙阻止连接时给出的错误消息。不过,我不是 100% 确定。【参考方案4】:
> sudo dnf install cyrus-sasl-md5

对于 Fedora 上的我来说,你需要这个包来获取密码。否则它将找不到服务器存储库。

【讨论】:

【参考方案5】:

只需开启 IPv6。

虽然它没有在你的机器上使用,但有些是 subversion svn 需要的。

subversion 在我的 FreeBSD 12.1 机器上运行良好。考虑使更健壮,我关闭了未使用的功能 IPv6。之后各种问题开始浮出水面。

所以,在我恢复 IPv6 之后,现在一切正常。

【讨论】:

以上是关于偶尔的 svn:E170013:无法连接到 URL 'https://svn .....' 处的存储库 svn:E730054:运行上下文时出错的主要内容,如果未能解决你的问题,请参考以下文章

TortiseSVN svn+ssh 错误:无法连接到 URL 上的存储库...网络连接意外关闭

尝试连接到 SVN 存储库时出错

linux上SVN服务器搭建后windows无法连接到服务器

Redmine“无法连接到svn存储库”

WebSVN 权限问题

SVN - 握手失败:SSL 错误