Exception on push with chg
With the hg
binary everything works as expected, but with chg
I get the following error with chg push
. Disabling the extension fixes the issue with chg
. I use mercurial 6.1 on archlinux.
$ hg push
pushing to xxxxx
** Unknown exception encountered with possibly-broken third-party extension "mercurial_keyring" (version N/A)
** which supports versions unknown of Mercurial.
** Please disable "mercurial_keyring" and try your action again.
** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/mercurial_keyring/issues
** Python 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0]
** Mercurial version 6.1, système de gestion de sources distribué
** Extensions chargées : hgk, mercurial_keyring, mq, pager, patchbomb, purge, rebase, strip
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/mercurial/commandserver.py", line 499, in _serverequest
sv.serve()
File "/usr/lib/python3.10/site-packages/mercurial/commandserver.py", line 403, in serve
while self.serveone():
File "/usr/lib/python3.10/site-packages/mercurial/commandserver.py", line 377, in serveone
handler(self)
File "/usr/lib/python3.10/site-packages/mercurial/chgserver.py", line 583, in runcommand
return super(chgcmdserver, self).runcommand()
File "/usr/lib/python3.10/site-packages/mercurial/commandserver.py", line 358, in runcommand
ret = self._dispatchcommand(req) & 255
File "/usr/lib/python3.10/site-packages/mercurial/commandserver.py", line 297, in _dispatchcommand
return dispatch.dispatch(req)
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 250, in dispatch
status = _rundispatch(req)
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 294, in _rundispatch
ret = _runcatch(req) or 0
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 470, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 480, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib/python3.10/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 460, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 1273, in _dispatch
return runcommand(
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 918, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python3.10/site-packages/hgext/pager.py", line 78, in pagecmd
return orig(ui, options, cmd, cmdfunc)
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 1285, in _runcommand
return cmdfunc()
File "/usr/lib/python3.10/site-packages/mercurial/dispatch.py", line 1271, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python3.10/site-packages/mercurial/util.py", line 1887, in check
return func(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/mercurial/util.py", line 1887, in check
return func(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/hgext/mq.py", line 4239, in mqcommand
return orig(ui, repo, *args, **kwargs)
File "/usr/lib/python3.10/site-packages/mercurial/util.py", line 1887, in check
return func(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/mercurial/commands.py", line 5742, in push
other = hg.peer(repo, opts, dest)
File "/usr/lib/python3.10/site-packages/mercurial/hg.py", line 239, in peer
return _peerorrepo(
File "/usr/lib/python3.10/site-packages/mercurial/hg.py", line 187, in _peerorrepo
obj = _peerlookup(path).instance(
File "/usr/lib/python3.10/site-packages/mercurial/httppeer.py", line 645, in instance
inst = makepeer(ui, path)
File "/usr/lib/python3.10/site-packages/mercurial/httppeer.py", line 629, in makepeer
respurl, info = performhandshake(ui, url, opener, requestbuilder)
File "/usr/lib/python3.10/site-packages/mercurial/httppeer.py", line 568, in performhandshake
resp = sendrequest(ui, opener, req)
File "/usr/lib/python3.10/site-packages/mercurial/httppeer.py", line 288, in sendrequest
res = opener.open(req)
File "/usr/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib/python3.10/urllib/request.py", line 557, in error
result = self._call_chain(*args)
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 1056, in http_error_401
response = self.http_error_auth_reqed('www-authenticate',
File "/usr/lib/python3.10/site-packages/mercurial/url.py", line 524, in http_error_auth_reqed
return urlreq.httpbasicauthhandler.http_error_auth_reqed(
File "/usr/lib/python3.10/site-packages/mercurial_keyring.py", line 625, in basic_http_error_auth_reqed
return basic_http_error_auth_reqed.orig(self, authreq, host, req, headers)
File "/usr/lib/python3.10/urllib/request.py", line 1005, in http_error_auth_reqed
return self.retry_http_basic_auth(host, req, realm)
File "/usr/lib/python3.10/site-packages/mercurial/url.py", line 529, in retry_http_basic_auth
user, pw = self.passwd.find_user_password(
File "/usr/lib/python3.10/site-packages/mercurial_keyring.py", line 616, in find_user_password
return self._pwd_handler.find_auth(self, realm, authuri, req)
File "/usr/lib/python3.10/site-packages/mercurial_keyring.py", line 432, in find_auth
user, pwd, src, final_url = self.get_credentials(
File "/usr/lib/python3.10/site-packages/mercurial_keyring.py", line 346, in get_credentials
parsed_url, url_user, url_passwd = self.unpack_url(authuri)
File "/usr/lib/python3.10/site-packages/mercurial_keyring.py", line 575, in unpack_url
parsed_url = util.url(authuri)
AttributeError: module 'mercurial.util' has no attribute 'url'