TortoiseHg 3.6.3 破坏了 Mercurial 密钥环?

TortoiseHg 3.6.3 broke mercurial keyring?

我昨天升级到 Tortoise 3.6.3,现在每次拉取或推送回购时都会提示我。密钥环设置正确,我的用户名在url.

有什么可能出错的想法吗? 3.6.3 破解密钥环了吗?

Issue 4401 "mercurial_keyring always asks for user/password" from time of 3.6.2 closed as pure extension-specific and contains solution: 不要再在 URL 中使用用户名

这是要放入的内容。hg/hgrc:

[auth]
default.username=myname
default.prefix=http://myrepo

调试此类问题的一个好方法是使用调试标志从命令行 运行 merciural,如:

hg pull --debug

这将清楚地表明获取存储库、用户名和密码是否有问题。

更新:A new version of TortoiseHG has been released(撰写本文时为 3.8.3)并修复了这个问题:升级到最新版本就足够了。

我遇到了完全相同的问题,发现 the following investigation article 对更好地理解正在发生的事情很有帮助(我不是作者,顺便说一句)。

简而言之,这似乎是 mercurial_keyring extension v1.0.1 的错误,在 TortoiseHG 3.6.2 中引入,似乎也已修复v1.1.1.

如果您正在 Python 编译,应该可以手动将它升级 TortoiseHG,方法是从它的 official bitbucket repo 中获取它,编译它并手动将其放入 TortoiseHG 的 /lib/library.zip 文件(事先备份它可能是明智的):如果你不这样做,你有 2 个选择:

1) 将 bitbucket 存储库克隆到您的 HDD,然后通过在您的 C:\Users\USERNAME\mercurial.ini 文件中写入以下内容来配置您的 Mercurial 安装以使用该扩展模块的新版本做了):

[extensions]
mercurial_keyring = /path/to/mercurial_keyring/mercurial_keyring.py

(注意:您可能还必须将路径放入 PATH 或 PYTHONPATH 环境变量中,具体取决于您的计算机上是否已经安装了 Python and/or Mercurial)。

2) 等待包含更新版本的下一个 TortoiseHG 版本。