在TortoiseHg储存密码

有没有一种方法来配置TortoiseHg来存储我的密码?

我有一个托管在谷歌代码上的项目,我使用TortoiseHg访问。每当我想把更改推到谷歌Code TortoiseHg提示我的用户名和密码。谷歌代码要求我使用自动生成的密码,而且每次都要重复查找。

78221 次浏览

安全警告

虽然这个答案在2017-09-15被接受,但是一个推荐的解决方案。永远不要以纯文本的形式存储密码。请使用mercurial_keyring扩展名。参见这里的另一个答案


你可以将你的推送URL改为https://username:password@hostname.com/repo

这在谷歌代码的善变的 faq中解释。

编辑:Mercurial FAQ解释了另一种方法:

使用Mercurial 1.3,你还可以在hgrc文件中添加一个认证部分:
[auth]
example.prefix = https://hg.example.net/
example.username = foo
example.password = bar

如果你想通过TortoiseHg配置它,存储库设置对话框可用。 打开对话框后,请切换到“同步”选项卡。 可以添加带有HTTPS认证信息的路径

< a href = " http://tortoisehg.bitbucket.io/manual/2.9/settings.html module-web。设置" rel="nofollow noreferrer">http://tortoisehg.bitbucket.io/manual/2.9/settings.html#module-web.settings

现有的两个答案都建议将你的用户名和密码未加密的存储在纯文本中,这是一个禁忌。

你应该使用密匙环扩展,因为它是专门为安全地保存身份验证密码而设计的。它已经与TortoiseHg捆绑在一起了,所以你所要做的就是在你的mercurial.ini文件中写入以下内容来激活它:

[extensions]
mercurial_keyring=

你还必须通过编辑你的存储库特定的.hg \ hgrc文件来关联你的用户名和推送url,如下例所示:

[paths]
default = https://<your_username>@bitbucket.org/tortoisehg/thg

有关将用户名与url关联的更多详细信息,请参阅密匙环扩展页的SMTP协议部分。

简单地修改本地存储库的.hg目录中的hgrc文件,使其看起来像这样:

[paths]
default = https://name:password@yourproj.googlecode.com/hg/

其中的名字是你的谷歌代码登录,没有gmail/googlemail位。'fredb'(不是fredb@gmail.com), 密码是google生成的密码,yourproj是GC项目的名称。比如:

default = https://fred:xyz123@fredproj.googlecode.com/hg/

三个步骤,观看截图注意:这将明文存储您的密码

enter image description here

这适用于我使用SSH。我知道密码是纯文本,但在这个项目中这不是一个问题。 您必须更改myUser和MyOPas的凭证和路径:TortoisePlink.exe。 编辑mercury .ini

.ini
[reviewboard]
password = myPass
[ui]
username = myUser
ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -l myUser -pw  myPass

如果你想将密码存储在mercury .ini中,并且在你升级到TortoiseHg 4.9或更高版本后,它不再工作,一个可能的解决方案是将端口添加到前缀中:

[auth]
tax.prefix = http://server:8080
tax.username = cerveser
tax.password = mypassword