201

有没有办法配置TortoiseHg来存储我的密码?

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

4

7 回答 7

268

现有的两个答案都建议以纯文本形式存储未加密的用户名和密码,这有点禁忌。

您应该改用Keyring扩展,因为它专为安全保存身份验证密码而设计。它已经与TortoiseHg捆绑在一起,因此您只需在mercurial.ini文件中写入以下内容即可激活它:

[extensions]
mercurial_keyring=

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

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

有关将您的用户名与 url 关联的更多详细信息,请参阅密钥环扩展页面的存储配置 (SMTP)部分。

于 2010-07-24T19:04:35.717 回答
151

三步,看截图注意:这会以明文形式存储您的密码。

在此处输入图像描述

于 2011-11-19T22:04:14.673 回答
71

安全警告

尽管此答案自 2017-09-15 起已被接受,但它不是推荐的解决方案。您永远不应该以纯文本形式存储您的密码。请改用mercurial_keyring扩展名。在此处查看另一个答案


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

这在Google CodeMercurial 的常见问题解答中有说明。

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

使用 Mercurial 1.3,您还可以在 hgrc 文件中添加 auth 部分:
[认证]
example.prefix = https://hg.example.net/
example.username = foo
example.password = bar
于 2010-01-04T05:10:20.840 回答
12

如果你想通过 TortoiseHg 配置它,可以使用 Repository Setting 对话框。打开对话框后,请切换到“同步”选项卡。您可以添加带有 HTTPS 身份验证信息的路径。

http://tortoisehg.bitbucket.io/manual/2.9/settings.html#module-web.settings

于 2010-01-04T10:20:00.807 回答
2

只需修改本地存储库目录中的hgrc文件,.hg使其如下所示:

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

其中name是您的 Google 代码登录名,没有 gmail/googlemail 位,例如“fredb”(不是 fredb@gmail.com),password是 Google 生成的密码,yourproj是您的 GC 项目的名称。所以像:

default = https://fred:xyz123@fredproj.googlecode.com/hg/
于 2011-04-24T20:41:59.830 回答
0

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

[reviewboard]
password = myPass
[ui]
username = myUser
ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -l myUser -pw  myPass
于 2017-01-09T17:18:39.810 回答
0

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

[auth]
tax.prefix = http://server:8080
tax.username = cerveser
tax.password = mypassword
于 2020-05-26T18:47:33.750 回答