broken as usual after upgrading Mercurial
I upgraded TortoiseHG to the latest version, so then I upgraded Mercurial to 6.1 wich was required (5.9.something at least) by THG.
As usual, like every single time I have upgraded Mercurial, mercurial_keyring stopped working. I got the error message below.
So I upgraded mercurial_keyring too, to version 1.4.1 (that's what I got by running "pip install --upgrade mercurial_keyring") and I get the exact same error message (with only some line numbers changed).
The error I paste is the one I get with keyring v. 1.4.1:
% hg pull --verbose https://xp-dev.com/hg/XXXXX
pulling from https://xp-dev.com/hg/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.8.12 (default, Aug 31 2021, 01:23:42) [GCC]
** Mercurial Distributed SCM (version 6.1)
** Extensions loaded: mercurial_keyring, tortoisehg.util.hgcommands, tortoisehg.util.hgdispatch, tortoisehg.util.partialcommit, tortoisehg.util.pipeui
** 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.8.12 (default, Aug 31 2021, 01:23:42) [GCC]
** Mercurial Distributed SCM (version 6.1)
** Extensions loaded: mercurial_keyring, tortoisehg.util.hgcommands, tortoisehg.util.hgdispatch, tortoisehg.util.partialcommit, tortoisehg.util.pipeui
Traceback (most recent call last):
File "/home/teo/.local/bin/hg", line 61, in <module>
dispatch.run()
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 144, in run
status = dispatch(req)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 250, in dispatch
status = _rundispatch(req)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 294, in _rundispatch
ret = _runcatch(req) or 0
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 470, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 480, in _callcatch
return scmutil.callcatch(ui, func)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 460, in _runcatchfunc
return _dispatch(req)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 1273, in _dispatch
return runcommand(
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 918, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 1285, in _runcommand
return cmdfunc()
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 1271, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/util.py", line 1887, in check
return func(*args, **kwargs)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/commands.py", line 6595, in serve
return server.runservice(opts, initfn=service.init, runfn=service.run)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/server.py", line 167, in runservice
return runfn()
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/commandserver.py", line 469, in run
return sv.serve()
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/commandserver.py", line 403, in serve
while self.serveone():
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/commandserver.py", line 377, in serveone
handler(self)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/commandserver.py", line 358, in runcommand
ret = self._dispatchcommand(req) & 255
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/commandserver.py", line 297, in _dispatchcommand
return dispatch.dispatch(req)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 250, in dispatch
status = _rundispatch(req)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 294, in _rundispatch
ret = _runcatch(req) or 0
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 470, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 480, in _callcatch
return scmutil.callcatch(ui, func)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 460, in _runcatchfunc
return _dispatch(req)
File "/home/teo/programmi/thg/tortoisehg/util/hgdispatch.py", line 23, in _dispatch
return orig(req)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 1273, in _dispatch
return runcommand(
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 918, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 1285, in _runcommand
return cmdfunc()
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/dispatch.py", line 1271, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/util.py", line 1887, in check
return func(*args, **kwargs)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/commands.py", line 5407, in pull
other = hg.peer(repo, opts, source)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/hg.py", line 239, in peer
return _peerorrepo(
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/hg.py", line 187, in _peerorrepo
obj = _peerlookup(path).instance(
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/httppeer.py", line 645, in instance
inst = makepeer(ui, path)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/httppeer.py", line 629, in makepeer
respurl, info = performhandshake(ui, url, opener, requestbuilder)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/httppeer.py", line 568, in performhandshake
resp = sendrequest(ui, opener, req)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/httppeer.py", line 288, in sendrequest
res = opener.open(req)
File "/usr/lib64/python3.8/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib64/python3.8/urllib/request.py", line 640, in http_response
response = self.parent.error(
File "/usr/lib64/python3.8/urllib/request.py", line 563, in error
result = self._call_chain(*args)
File "/usr/lib64/python3.8/urllib/request.py", line 502, in _call_chain
result = func(*args)
File "/usr/lib64/python3.8/urllib/request.py", line 1062, in http_error_401
response = self.http_error_auth_reqed('www-authenticate',
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/url.py", line 524, in http_error_auth_reqed
return urlreq.httpbasicauthhandler.http_error_auth_reqed(
File "/home/teo/.local/lib/python3.8/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/lib64/python3.8/urllib/request.py", line 1011, in http_error_auth_reqed
return self.retry_http_basic_auth(host, req, realm)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial/url.py", line 529, in retry_http_basic_auth
user, pw = self.passwd.find_user_password(
File "/home/teo/.local/lib/python3.8/site-packages/mercurial_keyring.py", line 616, in find_user_password
return self._pwd_handler.find_auth(self, realm, authuri, req)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial_keyring.py", line 432, in find_auth
user, pwd, src, final_url = self.get_credentials(
File "/home/teo/.local/lib/python3.8/site-packages/mercurial_keyring.py", line 346, in get_credentials
parsed_url, url_user, url_passwd = self.unpack_url(authuri)
File "/home/teo/.local/lib/python3.8/site-packages/mercurial_keyring.py", line 575, in unpack_url
parsed_url = util.url(authuri)
AttributeError: module 'mercurial.util' has no attribute 'url'
cmdserver: process exited unexpectedly with code 1