mercurial_keyring issueshttps://foss.heptapod.net/mercurial/mercurial_keyring/-/issues2020-04-07T07:57:58Zhttps://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/57Problem with SecretService.py2020-04-07T07:57:58ZBitbucket ImporterProblem with SecretService.py*Created originally on Bitbucket by Anonymous*
Have archlinux installation, tried to use thg with mecrurial_keyring extension:
/usr/bin/hg libdir = '../lib/python2.7/site-packages'
has python2.7 as default interpreter
have insta...*Created originally on Bitbucket by Anonymous*
Have archlinux installation, tried to use thg with mecrurial_keyring extension:
/usr/bin/hg libdir = '../lib/python2.7/site-packages'
has python2.7 as default interpreter
have installed gnome-keyring, libsecret, libgnome-keyring
also all python dependencies seems to be installed
everything seems to be work without mecrurial_keyring extension
log from thg:
```
** Unknown exception encountered with possibly-broken third-party extension mercurial_keyring
** 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://bitbucket.org/Mekk/mercurial_keyring/issues
** Python 2.7.14 (default, Sep 20 2017, 01:25:59) [GCC 7.2.0]
** Mercurial Distributed SCM (version 4.4.2)
** Extensions loaded: largefiles, extdiff, strip, mq, mercurial_keyring, tortoisehg.util.hgcommands, tortoisehg.util.partialcommit, tortoisehg.util.pipeui, tortoisehg.util.hgdispatch
** Unknown exception encountered with possibly-broken third-party extension mercurial_keyring
** 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://bitbucket.org/Mekk/mercurial_keyring/issues
** Python 2.7.14 (default, Sep 20 2017, 01:25:59) [GCC 7.2.0]
** Mercurial Distributed SCM (version 4.4.2)
** Extensions loaded: largefiles, extdiff, strip, mq, mercurial_keyring, tortoisehg.util.hgcommands, tortoisehg.util.partialcommit, tortoisehg.util.pipeui, tortoisehg.util.hgdispatch
Traceback (most recent call last):
File "/usr/bin/hg", line 41, in <module>
dispatch.run()
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 88, in run
status = (dispatch(req) or 0) & 255
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 178, in dispatch
ret = _runcatch(req)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 319, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 327, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib/python2.7/site-packages/mercurial/scmutil.py", line 154, in callcatch
return func()
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 309, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 1033, in _dispatch
cmdpats, cmdoptions)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 788, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 1041, in _runcommand
return cmdfunc()
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 1030, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python2.7/site-packages/mercurial/util.py", line 1183, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/mercurial/util.py", line 1183, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/hgext/mq.py", line 3583, in mqcommand
return orig(ui, repo, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/mercurial/util.py", line 1183, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/mercurial/commands.py", line 4730, in serve
return server.runservice(opts, initfn=service.init, runfn=service.run)
File "/usr/lib/python2.7/site-packages/mercurial/server.py", line 107, in runservice
return runfn()
File "/usr/lib/python2.7/site-packages/mercurial/commandserver.py", line 339, in run
return sv.serve()
File "/usr/lib/python2.7/site-packages/mercurial/commandserver.py", line 292, in serve
while self.serveone():
File "/usr/lib/python2.7/site-packages/mercurial/commandserver.py", line 267, in serveone
handler(self)
File "/usr/lib/python2.7/site-packages/mercurial/commandserver.py", line 250, in runcommand
ret = (dispatch.dispatch(req) or 0) & 255 # might return None
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 178, in dispatch
ret = _runcatch(req)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 319, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 327, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib/python2.7/site-packages/mercurial/scmutil.py", line 154, in callcatch
return func()
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 309, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python2.7/site-packages/tortoisehg/util/hgdispatch.py", line 23, in _dispatch
return orig(req)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 1033, in _dispatch
cmdpats, cmdoptions)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 788, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 1041, in _runcommand
return cmdfunc()
File "/usr/lib/python2.7/site-packages/mercurial/dispatch.py", line 1030, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python2.7/site-packages/mercurial/util.py", line 1183, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/mercurial/util.py", line 1183, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/hgext/mq.py", line 3583, in mqcommand
return orig(ui, repo, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/mercurial/util.py", line 1183, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/mercurial/commands.py", line 3158, in incoming
return hg.incoming(ui, repo, source, opts)
File "/usr/lib/python2.7/site-packages/mercurial/hg.py", line 912, in incoming
return _incoming(display, subreporecurse, ui, repo, source, opts)
File "/usr/lib/python2.7/site-packages/mercurial/hg.py", line 868, in _incoming
other = peer(repo, opts, source)
File "/usr/lib/python2.7/site-packages/mercurial/hg.py", line 178, in peer
return _peerorrepo(rui, path, create).peer()
File "/usr/lib/python2.7/site-packages/mercurial/hg.py", line 153, in _peerorrepo
obj = _peerlookup(path).instance(ui, path, create)
File "/usr/lib/python2.7/site-packages/mercurial/httppeer.py", line 461, in instance
inst._fetchcaps()
File "/usr/lib/python2.7/site-packages/mercurial/httppeer.py", line 204, in _fetchcaps
self._caps = set(self._call('capabilities').split())
File "/usr/lib/python2.7/site-packages/mercurial/httppeer.py", line 371, in _call
fp = self._callstream(cmd, **args)
File "/usr/lib/python2.7/site-packages/hgext/largefiles/proto.py", line 189, in httprepocallstream
return httpoldcallstream(self, cmd, **args)
File "/usr/lib/python2.7/site-packages/mercurial/httppeer.py", line 300, in _callstream
resp = self._urlopener.open(req)
File "/usr/lib/python2.7/urllib2.py", line 435, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 467, in error
result = self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 909, in http_error_401
url, req, headers)
File "/usr/lib/python2.7/site-packages/mercurial/url.py", line 422, in http_error_auth_reqed
self, auth_header, host, req, headers)
File "/usr/lib/python2.7/site-packages/mercurial_keyring.py", line 565, in basic_http_error_auth_reqed
return basic_http_error_auth_reqed.orig(self, authreq, host, req, headers)
File "/usr/lib/python2.7/urllib2.py", line 887, in http_error_auth_reqed
return self.retry_http_basic_auth(host, req, realm)
File "/usr/lib/python2.7/site-packages/mercurial/url.py", line 426, in retry_http_basic_auth
realm, urllibcompat.getfullurl(req))
File "/usr/lib/python2.7/site-packages/mercurial_keyring.py", line 556, in find_user_password
return self._pwd_handler.find_auth(self, realm, authuri, req)
File "/usr/lib/python2.7/site-packages/mercurial_keyring.py", line 386, in find_auth
pwmgr, realm, authuri, skip_caches=after_bad_auth)
File "/usr/lib/python2.7/site-packages/mercurial_keyring.py", line 349, in get_credentials
keyring_pwd = password_store.get_http_password(keyring_url, actual_user)
File "/usr/lib/python2.7/site-packages/mercurial_keyring.py", line 164, in get_http_password
self._format_http_key(url, username))
File "/usr/lib/python2.7/site-packages/mercurial_keyring.py", line 206, in _read_password_from_keyring
password = keyring.get_password(KEYRING_SERVICE, pwdkey)
File "/usr/lib/python2.7/site-packages/keyring/core.py", line 41, in get_password
return _keyring_backend.get_password(service_name, username)
File "/usr/lib/python2.7/site-packages/keyring/backends/SecretService.py", line 66, in get_password
collection = self.get_preferred_collection()
File "/usr/lib/python2.7/site-packages/keyring/backends/SecretService.py", line 56, in get_preferred_collection
raise InitError("Failed to create the collection: %s." % e)
keyring.errors.InitError: Failed to create the collection: Prompt dismissed..
cmdserver: process exited unexpectedly with code 1
```https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/56Broken for Hg 4.4.2, Mac OS X 10.13.12020-04-07T07:57:58ZBitbucket ImporterBroken for Hg 4.4.2, Mac OS X 10.13.1*Created originally on Bitbucket by [alexreg (Alexander Regueiro)](https://bitbucket.org/%7Ba0a6e87f-6153-4544-87cb-308025382f9a%7D/)*
I get this when running any Hg command:
```
*** failed to import extension mercurial_keyring: <me...*Created originally on Bitbucket by [alexreg (Alexander Regueiro)](https://bitbucket.org/%7Ba0a6e87f-6153-4544-87cb-308025382f9a%7D/)*
I get this when running any Hg command:
```
*** failed to import extension mercurial_keyring: <mercurial.cmdutil.command object at 0x10f386590> is not a Python function
```
Looks like a bug / compatibility issue.https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/55Doesn't work with hg 4.3.12020-04-07T07:57:57ZBitbucket ImporterDoesn't work with hg 4.3.1*Created originally on Bitbucket by [Anton Pogonets](https://bitbucket.org/%7B6a3b4355-4a5c-4513-8573-2b982a6f5f5c%7D/)*
Stop working when hg updates to 4.3.1. (4.2.2 is fine)
macOs 10.12, python 2.7
installed with easy_install
```...*Created originally on Bitbucket by [Anton Pogonets](https://bitbucket.org/%7B6a3b4355-4a5c-4513-8573-2b982a6f5f5c%7D/)*
Stop working when hg updates to 4.3.1. (4.2.2 is fine)
macOs 10.12, python 2.7
installed with easy_install
```
#!python
*** failed to import extension mercurial_keyring: <mercurial.cmdutil.command object at 0x102a622d0> is not a Python function
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.13 (default, Jul 18 2017, 09:17:00) [GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)]
** Mercurial Distributed SCM (version 4.3.1)
** Extensions loaded:
Traceback (most recent call last):
File "/usr/local/bin/hg", line 45, in <module>
mercurial.dispatch.run()
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 81, in run
status = (dispatch(req) or 0) & 255
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 162, in dispatch
ret = _runcatch(req)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 302, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 310, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/scmutil.py", line 150, in callcatch
return func()
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 292, in _runcatchfunc
return _dispatch(req)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 896, in _dispatch
cmdpats, cmdoptions)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 658, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 904, in _runcommand
return cmdfunc()
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/dispatch.py", line 893, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/util.py", line 1077, in check
return func(*args, **kwargs)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/commands.py", line 1410, in clone
shareopts=opts.get('shareopts'))
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/hg.py", line 483, in clone
srcpeer = peer(ui, peeropts, source)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/hg.py", line 178, in peer
return _peerorrepo(rui, path, create).peer()
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/hg.py", line 153, in _peerorrepo
obj = _peerlookup(path).instance(ui, path, create)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/httppeer.py", line 391, in instance
inst._fetchcaps()
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/httppeer.py", line 123, in _fetchcaps
self.caps = set(self._call('capabilities').split())
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/httppeer.py", line 301, in _call
fp = self._callstream(cmd, **args)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/httppeer.py", line 230, in _callstream
resp = self.urlopener.open(req)
File "/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 435, in open
response = meth(req, response)
File "/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 548, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 467, in error
result = self._call_chain(*args)
File "/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1098, in http_error_401
host, req, headers)
File "/usr/local/Cellar/mercurial/4.3.1/lib/python2.7/site-packages/mercurial/url.py", line 377, in http_error_auth_reqed
self, auth_header, host, req, headers)
File "build/bdist.macosx-10.12-x86_64/egg/mercurial_keyring.py", line 576, in digest_http_error_auth_reqed
AttributeError: 'NoneType' object has no attribute 'orig'
```https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/54Got broken after upgrading Ubuntu to 16.042020-04-07T07:57:56ZBitbucket ImporterGot broken after upgrading Ubuntu to 16.04*Created originally on Bitbucket by [matteosistisette (matteo sisti sette)](https://bitbucket.org/%7B9fa605ad-375e-45d8-bd81-71c0b4ff11b4%7D/)*
I had mercurial and the mercurial_keyring plugin installed and working just fine on Ubuntu 1...*Created originally on Bitbucket by [matteosistisette (matteo sisti sette)](https://bitbucket.org/%7B9fa605ad-375e-45d8-bd81-71c0b4ff11b4%7D/)*
I had mercurial and the mercurial_keyring plugin installed and working just fine on Ubuntu 15.10.
After upgrading to 16.04, the mercurial_keyring extension doesn't work anymore, and every time I run any mercurial command I get this error:
> *** failed to import extension mercurial_keyring: No module named builtins
(I'm not 100% sure it's always exactly the same, I think so; certainly it's always "*** failed [something] mercurial_keyring [something]")https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/53Verify consequences of passwddb2020-04-07T07:57:56ZBitbucket ImporterVerify consequences of passwddb*Created originally on Bitbucket by [Mekk (Marcin Kasperski)](https://bitbucket.org/%7Bd94fe134-1231-487d-9854-07b78282c3b8%7D/)*
Mercurial 3.9 introduced concept of passwddb, separating password management a little bit. This may allow ...*Created originally on Bitbucket by [Mekk (Marcin Kasperski)](https://bitbucket.org/%7Bd94fe134-1231-487d-9854-07b78282c3b8%7D/)*
Mercurial 3.9 introduced concept of passwddb, separating password management a little bit. This may allow for better or simpler way of glueing keyring to it.
Thing to verify (albeit rather conditionally, considering plenty of older Mercurials around).https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/52keyring_check crashes2020-04-07T07:57:54ZMatt Harbisonkeyring_check crashesWith TortoiseHg 3.9 on Windows (1.1.5, without the history note), I get the following trace:
```
#!python
Traceback (most recent call last):
File "hg", line 49, in <module>
File "mercurial\dispatch.pyo", line 59, in run
...With TortoiseHg 3.9 on Windows (1.1.5, without the history note), I get the following trace:
```
#!python
Traceback (most recent call last):
File "hg", line 49, in <module>
File "mercurial\dispatch.pyo", line 59, in run
File "mercurial\dispatch.pyo", line 125, in dispatch
File "mercurial\dispatch.pyo", line 204, in _runcatch
File "mercurial\dispatch.pyo", line 880, in _dispatch
File "mercurial\dispatch.pyo", line 637, in runcommand
File "mercurial\dispatch.pyo", line 1010, in _runcommand
File "mercurial\dispatch.pyo", line 971, in checkargs
File "mercurial\dispatch.pyo", line 877, in <lambda>
File "mercurial\util.pyo", line 1036, in check
File "mercurial\extensions.pyo", line 210, in closure
File "mercurial\util.pyo", line 1036, in check
File "hgext\mq.pyo", line 3539, in mqcommand
File "mercurial\util.pyo", line 1036, in check
File "mercurial\commands.pyo", line 6510, in serve
File "mercurial\cmdutil.pyo", line 883, in service
File "mercurial\commandserver.pyo", line 340, in run
File "mercurial\commandserver.pyo", line 293, in serve
File "mercurial\commandserver.pyo", line 268, in serveone
File "mercurial\commandserver.pyo", line 251, in runcommand
File "mercurial\dispatch.pyo", line 125, in dispatch
File "mercurial\dispatch.pyo", line 204, in _runcatch
File "mercurial\extensions.pyo", line 210, in closure
File "tortoisehg\util\hgdispatch.pyo", line 23, in _dispatch
File "mercurial\dispatch.pyo", line 880, in _dispatch
File "mercurial\dispatch.pyo", line 637, in runcommand
File "mercurial\dispatch.pyo", line 1010, in _runcommand
File "mercurial\dispatch.pyo", line 971, in checkargs
File "mercurial\dispatch.pyo", line 877, in <lambda>
File "mercurial\util.pyo", line 1036, in check
File "mercurial\extensions.pyo", line 210, in closure
File "mercurial\util.pyo", line 1036, in check
File "hgext\mq.pyo", line 3539, in mqcommand
File "mercurial\util.pyo", line 1036, in check
File "hgext\mercurial_keyring.pyo", line 765, in cmd_keyring_check
TypeError: __init__() takes exactly 3 arguments (2 given)
```
I didn't check keyring_clear, in case that works. Using clear with a dummy path complained about the path, so maybe it is OK.
(It also looks like the "tested with Mercurial version" isn't working, maybe because it recently changed. See https://www.mercurial-scm.org/repo/hg/rev/d5883fd055c6)
(edited to format the stacktrace with code tags)https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/51Mercurial 3.9-RC with mercurial_keyring 1.1.4 results in traceback on push2020-04-07T07:57:53ZBitbucket ImporterMercurial 3.9-RC with mercurial_keyring 1.1.4 results in traceback on push*Created originally on Bitbucket by [sborho (Steve Borho)](https://bitbucket.org/%7Ba7b33259-0b76-44e3-9ee3-0946c696a082%7D/)*
```
#!python
** Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)]
** Mercurial D...*Created originally on Bitbucket by [sborho (Steve Borho)](https://bitbucket.org/%7Ba7b33259-0b76-44e3-9ee3-0946c696a082%7D/)*
```
#!python
** Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)]
** Mercurial Distributed SCM (version 3.9-rc+16-d3df009ab117)
** Extensions loaded: svnbindings, mercurial_keyring
Traceback (most recent call last):
File "hg", line 49, in <module>
File "mercurial\dispatch.pyo", line 59, in run
File "mercurial\dispatch.pyo", line 125, in dispatch
File "mercurial\dispatch.pyo", line 204, in _runcatch
File "mercurial\dispatch.pyo", line 880, in _dispatch
File "mercurial\dispatch.pyo", line 637, in runcommand
File "mercurial\dispatch.pyo", line 1010, in _runcommand
File "mercurial\dispatch.pyo", line 971, in checkargs
File "mercurial\dispatch.pyo", line 877, in <lambda>
File "mercurial\util.pyo", line 1029, in check
File "mercurial\commands.pyo", line 5972, in push
File "mercurial\exchange.pyo", line 447, in push
File "mercurial\exchange.pyo", line 920, in _pushchangeset
File "mercurial\wireproto.pyo", line 420, in unbundle
File "mercurial\httppeer.pyo", line 235, in _callpush
File "mercurial\httppeer.pyo", line 206, in _call
File "mercurial\httppeer.pyo", line 153, 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 447, in http_error_auth_reqed
File "hgext\mercurial_keyring.pyo", line 549, in basic_http_error_auth_reqed
File "urllib2.pyo", line 889, in http_error_auth_reqed
File "mercurial\url.pyo", line 450, in retry_http_basic_auth
File "hgext\mercurial_keyring.pyo", line 540, in find_user_password
File "hgext\mercurial_keyring.pyo", line 374, in find_auth
File "hgext\mercurial_keyring.pyo", line 308, in get_credentials
TypeError: unbound method find_user_password() must be called with HTTPPasswordMgrWithDefaultRealm instance as first arg
ument (got passwordmgr instance instead)
```
https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/50Error message points to wrong (?) URL2020-04-07T07:57:53ZBitbucket ImporterError message points to wrong (?) URL*Created originally on Bitbucket by [fingolfin (Max Horn)](https://bitbucket.org/%7Ba3897c3a-eef9-481a-8a50-5a885e39cfd0%7D/)*
So I forgot to install "mercurial_extension_utils", and got this error:
```
$ hg help mercurial_keyring...*Created originally on Bitbucket by [fingolfin (Max Horn)](https://bitbucket.org/%7Ba3897c3a-eef9-481a-8a50-5a885e39cfd0%7D/)*
So I forgot to install "mercurial_extension_utils", and got this error:
```
$ hg help mercurial_keyring
*** failed to import extension mercurial_keyring: Can not import mercurial_extension_utils.
Please install this module in Python path.
See Installation chapter in https://bitbucket.org/Mekk/mercurial-dynamic_username/ for details
(and for info about TortoiseHG on Windows, or other bundled Python).
abort: no such help topic: mercurial_keyring
```
Shouldn't this point to https://bitbucket.org/Mekk/mercurial_keyring instead of https://bitbucket.org/Mekk/mercurial-dynamic_username/ ?
https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/49mercurial_keyring always asks for user/password2020-04-07T07:57:51ZBitbucket Importermercurial_keyring always asks for user/password*Created originally on Bitbucket by Anonymous*
latest TortoiseHG version 3.6.2 with latest mercurial_keyring always asks for user/password and a console message is shown:
[command returned code 255 Wed Dec 23 16:59:49 2015]
% hg out...*Created originally on Bitbucket by Anonymous*
latest TortoiseHG version 3.6.2 with latest mercurial_keyring always asks for user/password and a console message is shown:
[command returned code 255 Wed Dec 23 16:59:49 2015]
% hg outgoing --template {node}^M http://myuser@192.168.0.251:8282/scm/hg/myproject
comparing with http://myuser@192.168.0.251:8282/scm/hg/myproject
**keyring: username not specified in hgrc (or in url). Password will not be saved.**
Previous TortoiseHG version 3.6.1 works great.https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/48Usage of NullHandler breaks python 2.62020-04-07T07:57:51ZBitbucket ImporterUsage of NullHandler breaks python 2.6*Created originally on Bitbucket by [datallah (Daniel Atallah)](https://bitbucket.org/%7B44ebc167-d318-4016-b50f-de396d192555%7D/)*
The changes introduced in #36 / 091834e break python 2.6 compatibility - [NullHandler wasn't added until...*Created originally on Bitbucket by [datallah (Daniel Atallah)](https://bitbucket.org/%7B44ebc167-d318-4016-b50f-de396d192555%7D/)*
The changes introduced in #36 / 091834e break python 2.6 compatibility - [NullHandler wasn't added until python 2.7](https://docs.python.org/2/library/logging.handlers.html#nullhandler).
Wrapping the usage in a try and ignoring it seems to work fine
```
#!python
try:
import logging
logging.getLogger("keyring").addHandler(logging.NullHandler())
except:
pass
```https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/47Blank master password2020-04-07T07:57:50ZBitbucket ImporterBlank master password*Created originally on Bitbucket by [zerkms (Ivan Kurnosov)](https://bitbucket.org/%7B95a5f4cb-4409-49e0-abf0-5ee2cb79f3d0%7D/)*
Hi there,
I understand that it's actually a `keyring` project that prevents from using blank passwords b...*Created originally on Bitbucket by [zerkms (Ivan Kurnosov)](https://bitbucket.org/%7B95a5f4cb-4409-49e0-abf0-5ee2cb79f3d0%7D/)*
Hi there,
I understand that it's actually a `keyring` project that prevents from using blank passwords but any workaround to actually have a blank password? :-)
With a password required `mercurial_keyring` becomes not that useful as it was without it.https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/46Incompatible smtp.tls setting with hg2020-04-07T07:57:49ZBitbucket ImporterIncompatible smtp.tls setting with hg*Created originally on Bitbucket by [diryboy (Paul)](https://bitbucket.org/%7Bc95b519e-6aa9-44d8-9de0-711f30e71ae3%7D/)*
Hg already deprecated value true, and introduced starttls/smtps/none, and the TortoiseHg client will crash when use...*Created originally on Bitbucket by [diryboy (Paul)](https://bitbucket.org/%7Bc95b519e-6aa9-44d8-9de0-711f30e71ae3%7D/)*
Hg already deprecated value true, and introduced starttls/smtps/none, and the TortoiseHg client will crash when use these new values with mercurial_keyring enbled.
See the change in hg http://selenic.com/repo/hg/rev/f05250572467
And the [current line 475](https://bitbucket.org/Mekk/mercurial_keyring/src/f54ba41bd221a31fdc8e3e95e3cef3fa81931284/mercurial_keyring.py?at=default#cl-475) of mercurial_keyring.py
Can you sync the change?https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/45Some way to clear password (and maybe detect the need to clear it)2020-04-07T07:57:48ZBitbucket ImporterSome way to clear password (and maybe detect the need to clear it)*Created originally on Bitbucket by [Mekk (Marcin Kasperski)](https://bitbucket.org/%7Bd94fe134-1231-487d-9854-07b78282c3b8%7D/)*
On one of the *verflows I saw someone reporting problem with changed password on website (he or she used m...*Created originally on Bitbucket by [Mekk (Marcin Kasperski)](https://bitbucket.org/%7Bd94fe134-1231-487d-9854-07b78282c3b8%7D/)*
On one of the *verflows I saw someone reporting problem with changed password on website (he or she used mercurial_keyring in the past, changed password, now the plugin still forces old password). As it was Windows, there was no GUI tool which could be used to clear this password.
Things to consider:
1. Some explicit command to clear the password (this would be also helpful for scenarios like „I clear credentials from my laptop…”).
2. Checking whether logic to detect authorization failures and re-ask for for a password really works.https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/44isenabled() breaks keyring for older mercurial versions2020-04-07T07:57:43ZBitbucket Importerisenabled() breaks keyring for older mercurial versions*Created originally on Bitbucket by [eraserix (Christoph Mathys)](https://bitbucket.org/%7Bd9b0cda6-d262-4d69-a9df-e90d2285088a%7D/)*
After updating to 0.6.3 on Ubuntu 14.04 (current LTS) I get the following error when firing up hg:
...*Created originally on Bitbucket by [eraserix (Christoph Mathys)](https://bitbucket.org/%7Bd9b0cda6-d262-4d69-a9df-e90d2285088a%7D/)*
After updating to 0.6.3 on Ubuntu 14.04 (current LTS) I get the following error when firing up hg:
$ hg out
*** failed to import extension mercurial_keyring from mercurial_keyring.py: 'module' object has no attribute 'isenabled'
14.04 ships with mercurial 2.8.2. The function isenabled() however was not part of mercurial until 2.9.1.https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/43error during import of mercurial_keyring2020-04-07T07:57:43ZBitbucket Importererror during import of mercurial_keyring*Created originally on Bitbucket by [alejandrogiacometti (Alejandro Giacometti)](https://bitbucket.org/%7B9887cd79-5348-4afe-a1f0-bd95fc377c15%7D/)*
```
*** failed to import extension mercurial_keyring: vars() argument must have __dict...*Created originally on Bitbucket by [alejandrogiacometti (Alejandro Giacometti)](https://bitbucket.org/%7B9887cd79-5348-4afe-a1f0-bd95fc377c15%7D/)*
```
*** failed to import extension mercurial_keyring: vars() argument must have __dict__ attribute [20/49]
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/mercurial/extensions.py", line 100, in loadall
load(ui, name, path)
File "/usr/local/lib/python2.7/site-packages/mercurial/extensions.py", line 87, in load
mod = importh(name)
File "/usr/local/lib/python2.7/site-packages/mercurial/extensions.py", line 77, in importh
mod = __import__(name)
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 115, in _demandimport
return _hgextimport(_import, name, globals, locals, fromlist, level)
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 47, in _hgextimport
return importfunc(name, globals, *args)
File "/usr/local/lib/python2.7/site-packages/mercurial_keyring.py", line 86, in <module>
import keyring
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 115, in _demandimport
return _hgextimport(_import, name, globals, locals, fromlist, level)
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 47, in _hgextimport
return importfunc(name, globals, *args)
File "/usr/local/lib/python2.7/site-packages/keyring/__init__.py", line 12, in <module>
from .core import (set_keyring, get_keyring, set_password, get_password,
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 132, in _demandimport
return _origimport(name, globals, locals, fromlist, level)
File "/usr/local/lib/python2.7/site-packages/keyring/core.py", line 158, in <module>
init_backend()
File "/usr/local/lib/python2.7/site-packages/keyring/core.py", line 57, in init_backend
_load_library_extensions()
File "/usr/local/lib/python2.7/site-packages/keyring/core.py", line 144, in _load_library_extensions
pkg_resources = __import__('pkg_resources')
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 115, in _demandimport
return _hgextimport(_import, name, globals, locals, fromlist, level)
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 47, in _hgextimport
return importfunc(name, globals, *args)
File "/usr/local/lib/python2.7/site-packages/pkg_resources.py", line 80, in <module>
packaging = setuptools._vendor.packaging
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 106, in __getattribute__
self._load()
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 78, in _load
mod = _hgextimport(_import, head, globals, locals, None, level)
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 47, in _hgextimport
return importfunc(name, globals, *args)
File "/usr/local/lib/python2.7/site-packages/setuptools/__init__.py", line 12, in <module>
from setuptools.extension import Extension
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 134, in _demandimport
mod = _hgextimport(_origimport, name, globals, locals)
File "/usr/local/lib/python2.7/site-packages/mercurial/demandimport.py", line 47, in _hgextimport
return importfunc(name, globals, *args)
File "/usr/local/lib/python2.7/site-packages/setuptools/extension.py", line 13, in <module>
msvc9_support.patch_for_specialized_compiler()
File "/usr/local/lib/python2.7/site-packages/setuptools/msvc9_support.py", line 24, in patch_for_specialized_compiler
unpatched.update(vars(distutils.msvc9compiler))
TypeError: vars() argument must have __dict__ attribute
```
I thought the error was being caused elsewhere, and reported it.
Here is the setuptools bug report:
https://bitbucket.org/pypa/setuptools/issue/305/error-during-import-of-mercurial-extension
Here is the mercurial bug report:
http://bz.selenic.com/show_bug.cgi?id=4475https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/42IOError 0 encountered in cloning repo with subrepo over https2020-04-07T07:57:42ZBitbucket ImporterIOError 0 encountered in cloning repo with subrepo over https*Created originally on Bitbucket by [banburybill (Jim Hague)](https://bitbucket.org/%7Ba6198ea9-b4a8-4a1c-93eb-b08ff0f5b970%7D/)*
Encountered on Debian Sid x64 when cloning repo containing subrepo over https and using mercurial-keyring ...*Created originally on Bitbucket by [banburybill (Jim Hague)](https://bitbucket.org/%7Ba6198ea9-b4a8-4a1c-93eb-b08ff0f5b970%7D/)*
Encountered on Debian Sid x64 when cloning repo containing subrepo over https and using mercurial-keyring 0.6.2-1.
Disabling mercurial_keyring fixes.
```
#!python
Traceback (most recent call last):
File "/home/jim/work/src/hg/mercurial/dispatch.py", line 140, in _runcatch
return _dispatch(req)
File "/home/jim/work/src/hg/mercurial/dispatch.py", line 850, in _dispatch
cmdpats, cmdoptions)
File "/home/jim/work/src/hg/mercurial/dispatch.py", line 611, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/home/jim/work/src/hg/mercurial/dispatch.py", line 941, in _runcommand
return checkargs()
File "/home/jim/work/src/hg/mercurial/dispatch.py", line 912, in checkargs
return cmdfunc()
File "/home/jim/work/src/hg/mercurial/dispatch.py", line 847, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/home/jim/work/src/hg/mercurial/util.py", line 677, in check
return func(*args, **kwargs)
File "/home/jim/work/src/hg/mercurial/commands.py", line 1371, in clone
branch=opts.get('branch'))
File "/home/jim/work/src/hg/mercurial/hg.py", line 473, in clone
_update(destrepo, uprev)
File "/home/jim/work/src/hg/mercurial/hg.py", line 499, in update
stats = updaterepo(repo, node, False)
File "/home/jim/work/src/hg/mercurial/hg.py", line 495, in updaterepo
labels=['working copy', 'destination'])
File "/home/jim/work/src/hg/mercurial/merge.py", line 1117, in update
stats = applyupdates(repo, actions, wc, p2, overwrite, labels=labels)
File "/home/jim/work/src/hg/mercurial/merge.py", line 652, in applyupdates
for i, item in prog:
File "/home/jim/work/src/hg/mercurial/worker.py", line 124, in _posixworker
for line in fp:
IOError: [Errno 0] Error
abort: Error
```
https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/41demandimport logic is incorrect2020-04-07T07:57:42ZBitbucket Importerdemandimport logic is incorrect*Created originally on Bitbucket by [olliewalsh (Ollie Walsh)](https://bitbucket.org/%7Be2545a43-a234-4b99-8b3d-6c8cdcfb9bdd%7D/)*
The logic for demand import is incorrect. The end result is that demandimport is always enabled after imp...*Created originally on Bitbucket by [olliewalsh (Ollie Walsh)](https://bitbucket.org/%7Be2545a43-a234-4b99-8b3d-6c8cdcfb9bdd%7D/)*
The logic for demand import is incorrect. The end result is that demandimport is always enabled after importing mercurial-keyring, which causes major problems for everything imported afterwards.
```
#!python
# Temporarily disable demandimport to make the need of extending
# the list above less likely.
if __import__ == demandimport._import:
demandimport.disable()
try:
import keyring
finally:
demandimport.enable()
else:
import keyring
```
When demandimport is disabled, `__import__ == demandimport._import`.(http://selenic.com/hg/file/a1eb21f5caea/mercurial/demandimport.py#l43)
That should be: `__import__ == demandimport._demandimport` (http://selenic.com/hg/file/a1eb21f5caea/mercurial/demandimport.py#l170)
https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/40Unknown exception encountered with possibly-broken third-party extension merc...2020-04-07T07:57:41ZBitbucket ImporterUnknown exception encountered with possibly-broken third-party extension mercurial_keyring*Created originally on Bitbucket by [longtimeago (Paul Polishchuk)](https://bitbucket.org/%7B280fd95d-0928-4035-82b6-cd8ccc41a5b1%7D/)*
Hi
I'm using mercurial + mercurial_keyring. After changing repository password I'm not able to clon...*Created originally on Bitbucket by [longtimeago (Paul Polishchuk)](https://bitbucket.org/%7B280fd95d-0928-4035-82b6-cd8ccc41a5b1%7D/)*
Hi
I'm using mercurial + mercurial_keyring. After changing repository password I'm not able to clone repo with mercurial_keyring enabled.
If I disable it and put my password directly to .hgrc all works fine
Please see logs attached.
Thank you!https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/39repeat prompts for keyring password2020-04-07T07:57:40ZBitbucket Importerrepeat prompts for keyring password*Created originally on Bitbucket by [clux (Eirik NA)](https://bitbucket.org/%7B9ebd63ad-9620-4642-8d4b-a22090c39b7c%7D/)*
Hey, I am trying to troubleshoot here a little as I'm finding things have changed after updating to latest mercuri...*Created originally on Bitbucket by [clux (Eirik NA)](https://bitbucket.org/%7B9ebd63ad-9620-4642-8d4b-a22090c39b7c%7D/)*
Hey, I am trying to troubleshoot here a little as I'm finding things have changed after updating to latest mercurial-keyring:
I have a global ~/.hgrc with:
```
[extensions]
mercurial_keyring =
record =
[ui]
username = x <x@y.com>
[auth]
myremote.schemes = https http
myremote.prefix = hg.y.com
myremote.username = z
```
and versions as follows (latest as of now):
```
pip freeze | grep -E "key|merc"
keyring==3.8
mercurial==2.7.2
mercurial-keyring==0.6.2
```
Essentially, I find that every authentication requiring hg interaction now require the keyring password. Two repeat calls to `hg pull` in the same repo will ask for it even if they are just seconds apart.
I'm not sure if there used to be a timer or there was a once per repo thing, but something's different. Has this changed? Is there just a way for it to bug me a bit less?
https://foss.heptapod.net/mercurial/mercurial_keyring/-/issues/38g_set_application_name not set2020-04-07T07:57:35ZBitbucket Importerg_set_application_name not set*Created originally on Bitbucket by Anonymous*
when using the single mercurial_keyring.py file as HG extenstion, we get this warning:
** (process:24570): WARNING **: g_set_application_name not set.
in order to solve this, the code n...*Created originally on Bitbucket by Anonymous*
when using the single mercurial_keyring.py file as HG extenstion, we get this warning:
** (process:24570): WARNING **: g_set_application_name not set.
in order to solve this, the code need to be udpated, adding these lines:
import glib
glib.set_application_name('mercurial-keyring')