Mercurial - 解决中止的方法:错误:''hg in / pull

时间:2014-02-03 13:46:52

标签: mercurial tortoisehg

一个非常好的存储库在未知时间之后变成梨状 一个简单的 hg in 失败并出现错误 中止:错误:''

有时它会挂起几分钟而没有任何输出。

如果我使用 - verbose 运行,则输出相同 如果我使用 - traceback 运行,我会得到:

Traceback (most recent call last):
  File "mercurial\dispatch.pyo", line 88, in _runcatch
  File "mercurial\dispatch.pyo", line 740, in _dispatch
  File "mercurial\dispatch.pyo", line 514, in runcommand
  File "mercurial\dispatch.pyo", line 830, in _runcommand
  File "mercurial\dispatch.pyo", line 801, in checkargs
  File "mercurial\dispatch.pyo", line 737, in <lambda>
  File "mercurial\util.pyo", line 471, in check
  File "mercurial\commands.pyo", line 3901, in incoming
  File "mercurial\hg.pyo", line 513, in incoming
  File "mercurial\hg.pyo", line 472, in _incoming
  File "mercurial\bundlerepo.pyo", line 342, in getremotechanges
  File "mercurial\discovery.pyo", line 45, in findcommonincoming
  File "mercurial\setdiscovery.pyo", line 184, in findcommonheads
  File "mercurial\wireproto.pyo", line 116, in plain
  File "mercurial\wireproto.pyo", line 164, in _submitone
  File "mercurial\httppeer.pyo", line 170, in _call
  File "mercurial\httppeer.pyo", line 118, in _callstream
  File "urllib2.pyo", line 400, in open
  File "urllib2.pyo", line 418, in _open
  File "urllib2.pyo", line 378, in _call_chain
  File "mercurial\url.pyo", line 314, in http_open
  File "mercurial\keepalive.pyo", line 257, in do_open
URLError: <urlopen error ''>
abort: error: ''

没有进一步的细节......
有没有人知道如何调试这个并解决这个问题?我最终再次克隆父存储库并删除旧存储库: - (

编辑:更新 - 在遇到这些错误时,我们正在使用两个在它们之间有链接的LAN网络。一些用户在“旧”网络中,而其他用户在“新”网络中 在每个人都迁移到新网络后,我们就停止了这些错误。

我希望这会有所帮助。

2 个答案:

答案 0 :(得分:2)

当bitbucket服务器(我将其用作代码存储库)出现问题时,我收到此错误。 并且,最终,这个问题在没有我干预的情况下消失了(约5-10分钟左右......)

如果您使用的是 bitbucket ,则可以使用以下链接检查其API的状态/响应时间:http://status.bitbucket.org/

答案 1 :(得分:1)

您使用https吗?

我们遇到了同样的问题。我们可以hg clone https://repository没有问题。除非有人向此(远程)存储库推送任何内容,hg inchg pull也可以正常工作。更改远程存储库后,hg inc hg pull不再起作用并导致完全相同的回溯(URLError:[Errno 10054]远程主机强制关闭现有连接)。 hg out hg push工作仍然完美。

  

注意:我们将.hg / hgrc中的默认路径更改为http://repository   无论我们使用哪个hg命令都没有任何麻烦。   我们也使用ssh成功测试了。

所以我们更深入地发现了一些东西:我们的负载均衡器中管理https的最大允许头大小太小了。在我们增加了价值后,一切正常,还有https: - )