我在本地网络上正确安装了Mercurial,现在我有了hguser,当有人试图“推送”他时,他会被要求输入密码,如果他输入了正确的密码,密码就会被接受。
问题是如何在每个用户的.hgrc文件中一次输入用户名和密码?我尝试了以下方法,但不起作用:
[auth]
localhost.prefix = http://192.168.0.1/hg/
localhost.username = frodo
localhost.password = ok123我得到了:
searching for changes
abort: authorization failed请帮帮忙。谢谢。
发布于 2010-12-04 07:18:37
看起来你已经掌握了正确的语法。两个潜在的问题:
(a)可能您的前缀的值不正确。你应该使用https而不是吗?
(b)您确定远程机器上的用户名和密码正确吗?
您能用用户名和密码ssh进入服务器吗?
另外,我对一个类似的问题有一个很长的答案here
对我有效的方法
[ui]
username=Chris McCauley <chris.mccauley@mydomain.com>
[auth]
repo.prefix = https://server/repo_path
repo.username = username
repo.password = password克里斯
发布于 2012-10-26 02:08:19
下面是它不工作的原因以及它应该如何配置:
您可以指定“schemes”选项,也可以跳过它。“‘Schemes”选项默认为“https”。因此,如果您没有将方案包含在'prefix‘选项中,和没有显式指定'schemes’选项,您将得到以下结果:
# you specify:
[auth]
repo.prefix = server/repo_path
repo.username = username
repo.password = password
# you get:
[auth]
repo.prefix = server/repo_path
repo.username = username
repo.password = password
repo.schemes = https结果配置与http://server/repo_path不匹配,身份验证不起作用。
我建议总是在前缀或“方案”配置选项中指定方案,以消除歧义。
它在docs中有解释,但是您必须非常仔细地阅读它才能理解它。
发布于 2010-12-04 08:47:10
确保您使用的是相对较新版本的mercurial。我不认为[auth]部分在1.6之前就存在了。
作为备用方法,您可以始终将用户名和密码放入HTTP URL中(适用于任何HTTP站点):
http://frodo:ok123@192.168.0.1/hg/但是,如果你能让它工作,[auth]是更干净的路线。
https://stackoverflow.com/questions/4350692
复制相似问题