配置Hg不要求在命令行上输入用户名和密码

时间:2012-06-05 11:16:15

标签: mercurial

当我尝试克隆经过https验证的Mercurial存储库(例如来自窑)时,它会询问我的用户名

C:\temp\test>hg clone https://<my-login-name>.kilnhg.com/Code/Repositories/Group/test
http authorization required
realm: kiln
user:

我们希望使用用户提供的任何URL从我们的GUI应用程序调用{​​{1}}命令,并向用户按需询问用户名和密码(如果需要)。

如何配置Mercurial以调用返回用户名/密码的任意脚本,类似于在Git环境变量hg cloneGIT_ASKPASS中定义路径的脚本?

2 个答案:

答案 0 :(得分:12)

您可以在用户范围hgrc(用户个人资料目录中的mercurial.ini,在Windows上)配置凭据:

[auth]
foo.prefix = example.com/path
foo.username = user
foo.password = password

之后,对此服务器的请求将默默使用hgrc文件中提供的凭据。

有关详细信息,请参阅docs on hgrc


更新:在研究了TortoiseHg的来源(有问题的代码是sync.py中的SyncWidget.inclickedSyncWidget.pullclicked方法)之后,我发现了表明你正在尝试实现的TortoiseHg显然首先尝试了auth请求的URL,如果已经给出,则询问用户登录和密码,重建完整的URL(带有凭据)并将其提供给hg pull

我想你也可以这样做。

答案 1 :(得分:6)

怎么样?
hg clone https://user:password@host:port

这样的解决方案对你不适用吗?