Почему выполнение "hg push" завершится неудачно, как показано ниже?

453
Noctis Skytower

Мой файл hgrc содержит следующую информацию:

[auth] default.prefix = bitbucket.org default.username = stephen-paul-chappell default.password = ****************************** default.schemes = http https proxy.prefix = wsa-sn.pcci.edu proxy.username = 116042 proxy.password = ******** proxy.schemes = http https [http_proxy] host = wsa-sn.pcci.edu:3128 user = 116042 passwd = ******** [paths] default = https://bitbucket.org/stephen-paul-chappell/praecipuas-tournament [ui] username = Stephen Chappell <noctis.skytower@gmail.com> 

Информация, которая отображается на стандартном выходе, выглядит следующим образом:

C:\Users\Zero\PycharmProjects\praecipuas-tournament>hg push --verbose --debug --traceback pushing to https://bitbucket.org/stephen-paul-chappell/praecipuas-tournament using https://bitbucket.org/stephen-paul-chappell/praecipuas-tournament proxying through http://wsa-sn.pcci.edu:3128 sending capabilities command using auth.default.* for authentication bitbucket.org certificate successfully verified query 1; heads sending batch command using auth.default.* for authentication searching for changes taking quick initial sample searching: 2 queries query 2; still undecided: 3, sample size is: 3 sending known command using auth.default.* for authentication 2 total queries preparing listkeys for "phases" sending listkeys command using auth.default.* for authentication checking for updated bookmarks preparing listkeys for "bookmarks" sending listkeys command using auth.default.* for authentication 4 changesets found list of changesets: 5af610089cb70bdfbd322cd07276c91641edde8f 78421d9083a7888f885e96b556512b5b69e177e8 5c30291d73e0527a763c72a457fc6b23d1810399 742f3c2666be853791f7186d061d35dac5678894 bundling: 1/4 changesets (25.00%) bundling: 2/4 changesets (50.00%) bundling: 3/4 changesets (75.00%) bundling: 4/4 changesets (100.00%) bundling: 1/4 manifests (25.00%) bundling: 2/4 manifests (50.00%) bundling: 3/4 manifests (75.00%) bundling: 4/4 manifests (100.00%) bundling: source/__init__.py 1/19 files (5.26%) bundling: source/controller/__init__.py 2/19 files (10.53%) bundling: source/controller/scheduler.py 3/19 files (15.79%) bundling: source/main.py 4/19 files (21.05%) bundling: source/model/__init__.py 5/19 files (26.32%) bundling: source/model/alliance.py 6/19 files (31.58%) bundling: source/model/asset.py 7/19 files (36.84%) bundling: source/model/building.py 8/19 files (42.11%) bundling: source/model/defense.py 9/19 files (47.37%) bundling: source/model/facility.py 10/19 files (52.63%) bundling: source/model/fleet.py 11/19 files (57.89%) bundling: source/model/galaxy.py 12/19 files (63.16%) bundling: source/model/messages.py 13/19 files (68.42%) bundling: source/model/research.py 14/19 files (73.68%) bundling: source/model/resources.py 15/19 files (78.95%) bundling: source/model/shipyard.py 16/19 files (84.21%) bundling: source/model/sphere.py 17/19 files (89.47%) bundling: source/view/__init__.py 18/19 files (94.74%) bundling: source/view/viewport.py 19/19 files (100.00%) sending unbundle command sending 7540 bytes using auth.default.* for authentication sending: 7/14 kb (50.00%) sending: 7/14 kb (50.00%) using auth.default.* for authentication http auth: user stephen-paul-chappell, password ****************************** using auth.default.* for authentication bitbucket.org certificate successfully verified sending: 14/14 kb (100.00%) sending: 14/14 kb (100.00%)  Traceback (most recent call last): File "mercurial\dispatch.pyo", line 160, in _runcatch File "mercurial\dispatch.pyo", line 885, in _dispatch File "mercurial\dispatch.pyo", line 646, in runcommand File "mercurial\dispatch.pyo", line 976, in _runcommand File "mercurial\dispatch.pyo", line 947, in checkargs File "mercurial\dispatch.pyo", line 882, in <lambda> File "mercurial\util.pyo", line 716, in check File "mercurial\commands.pyo", line 5228, in push File "mercurial\exchange.pyo", line 236, in push File "mercurial\exchange.pyo", line 664, in _pushchangeset File "mercurial\wireproto.pyo", line 391, in unbundle File "mercurial\httppeer.pyo", line 202, in _callpush File "mercurial\httppeer.pyo", line 172, in _call File "mercurial\httppeer.pyo", line 119, in _callstream File "urllib2.pyo", line 437, in open File "urllib2.pyo", line 550, in http_response File "urllib2.pyo", line 469, in error File "urllib2.pyo", line 409, in _call_chain File "urllib2.pyo", line 911, in http_error_401 File "mercurial\url.pyo", line 453, in http_error_auth_reqed File "urllib2.pyo", line 889, in http_error_auth_reqed File "mercurial\url.pyo", line 464, in retry_http_basic_auth File "urllib2.pyo", line 431, in open File "urllib2.pyo", line 449, in _open File "urllib2.pyo", line 409, in _call_chain File "mercurial\url.pyo", line 372, in https_open File "mercurial\keepalive.pyo", line 255, in do_open URLError: <urlopen error ''> abort: error: ''  C:\Users\Zero\PycharmProjects\praecipuas-tournament> 

Я не уверен, что именно идет не так или как решить проблему.

1

1 ответ на вопрос

1
Chris J

It looks like an issue with your proxy:

 File "urllib2.pyo", line 911, in http_error_401 File "mercurial\url.pyo", line 453, in http_error_auth_reqed File "urllib2.pyo", line 889, in http_error_auth_reqed File "mercurial\url.pyo", line 464, in retry_http_basic_auth File "urllib2.pyo", line 431, in open File "urllib2.pyo", line 449, in _open File "urllib2.pyo", line 409, in _call_chain File "mercurial\url.pyo", line 372, in https_open File "mercurial\keepalive.pyo", line 255, in do_open URLError: <urlopen error ''> 

So this shows a the proxy throw a 401 asking for authentication, so HG tries again (retry_http_basic_auth), but after that it seems to fail. I'm assuming you need the proxy, but are you able to try from a host that does not need the proxy just to make sure your mecurial repo is sane?

Also this SO question covered something similar and traced it to an issue with their load balancer not handling the size of the HTTP headers, which might be something else to look at (i.e., is the proxy not handling the HTTP headers correctly?)

К сожалению, все мои интернет-соединения находятся за прокси, где я живу, и нет удобного способа исправить ситуацию. Спасибо за вашу помощь, хотя! Я поговорю с прокси-администратором, чтобы узнать, можно ли что-то сделать, чтобы решить проблему. Noctis Skytower 8 лет назад 0

Похожие вопросы