8

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

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

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

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

4

2 回答 2

14

您可以在用户范围内配置您的凭据hgrcmercurial.ini在 Windows 上的用户配置文件目录中):

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

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

有关更多信息,请参阅文档。hgrc


更新:在研究了 TortoiseHg 源代码之后(有问题的代码是sync.pySyncWidget.inclicked中的和SyncWidget.pullclicked方法),我发现 TortoiseHg 正是您想要实现的目标,显然首先尝试了auth 请求,如果已给出,则要求用户输入登录名和密码,以重建完整的 URL(带有凭据)并将其提供给.hg pull

我想你也可以这样做。

于 2012-06-05T11:43:39.827 回答
7

关于什么

hg clone https://user:password@host:port

这样的解决方案不适合您吗?

于 2012-06-05T11:25:30.730 回答