Mercurial身份验证缓存?

6
我的Mercurial服务器需要https认证才能进行pull操作。如何在客户端上缓存我的认证信息,而不会在磁盘上暴露明文密码?
我正在寻找类似使用sudo进行Mercurial和SSH认证的HTTPS认证方式。
2个回答

6

你探索过Mercurial keyring了吗?

它支持HTTPS,并且与最新版本的TortoiseHg捆绑在一起。如果您没有TortoiseHg,您也可以像安装其他扩展程序一样安装它(尽管我建议Windows用户使用TortoiseHg)。


这个在Windows下似乎不太好用。代码使用了pwd和其他Unix特定的命令。显然,有一种使用客户端证书的跨平台方法可以解决这个问题。你有什么想法吗? - Gili
1
TortoiseHg版本的Hg和keyring在Windows上应该很好用。以下是keyring文档中的建议:"如果您使用的是Windows系统,我们建议您使用TortoiseHg。THG附带了特定于Windows的keyring后端,否则mercurial-keyring扩展在Windows上无法正常工作。自0.10版本以来,mercurial-keyring扩展已经随TortoiseHg一起发布。" - dls
2
安装TortoiseHg后,您需要启用mercurial_keyring扩展:在资源管理器中右键单击任何文件夹> TortoiseHg> 全局设置> 单击“扩展”> 选中mercurial_keyring> 单击“确定”。现在,您将在第一次提示输入密码,但不会在后续操作中再次提示。 (为什么他们不默认打开或使其更广泛地知道对我来说似乎很愚蠢!) - Rory

-2

你可以在你的~.hgrc文件中添加一个[auth]部分:

[auth]
foo.prefix = hg.intevation.org/mercurial
foo.username = foo
foo.password = bar
foo.schemes = http https

或者您也可以使用带有认证信息的URL,在mercurial中与您的Web浏览器的URL栏一样有效:

http://user:pass@host.com/path/to/repo/

你需要将以下内容放入你的仓库的.hg/hgrc文件的[path]部分。


3
题目明确说明我不想在磁盘上暴露明文密码。请重新尝试 :) - Gili

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接