TortoiseHg / Mercurial 3.6.2 x64 not remembering credentials

162 views Asked by At

I recently upgraded to TortoiseHg 3.6.2 x64 and since then the mercurial_keyring setting does not work. I had previously followed the instructions here (the ones that show how to enable mercurial_keyring extension). Here's what I have:

Mercurial.ini

[extensions]
mercurial_keyring = 

Local Repo .hg\hgrc

[paths]
http://[email protected]/repo.hg

Now, ever time I try to pull/push etc from TortoiseHg, I am asked for my username and password. When I disable mercurial_keyring, then I am just asked for my password.

If I downgrade to TortoiseHg 3.5.2 x64 then it works again.

Any ideas please? Is there a minimum compatible server-side Mercurial version for this to work with TortoiseHg 3.6.2? I think we are running 2.7.1 on the server under Linux.

Thanks.

1

There are 1 answers

1
Chris On

This appears to be a change in behaviour caused by TortoiseHg 3.6.2. It looks to me like a bug, although as of yet is unconfirmed if it was an intentional change or not.

The relevant mercurial_keyring issue is here. The only reason I wonder if it's intentional or not is that the current docs state:

Simpler form with url-embedded name can also be used:

[paths] bitbucket = https://[email protected]/hgrepo/someproject/

but is not recommended.

The workaround appears to be to specify the username outside of the URL.

[paths]
myremote = https://my.server.com/hgrepo/someproject

[auth]
myremote.prefix = https://my.server.com/hgrepo
myremote.username = John