authentication - .hg/hgrc 中未指定 hg 推送错误和用户名。不会使用 key 环

标签 authentication mercurial ldap credentials mercurial-keyring

我做了以下事情:

hg clone ...somelink.to.repo.in.hg ... Giga

千兆唱片

ls(...它显示 giga.txt 文件存在于 Giga 目录中)

vi giga.txt(...做了一些修改..)

hg commit -m "字节"

hg out(出现以下错误)

** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial@selenic.com
** Mercurial Distributed SCM (version 1.5)
** Extensions loaded: acl, bugzilla, children, churn, color, convert, extdiff, fetch, gpg, graphlog, hgcia, hgk, highlight, interhg, keyword, mercurial_keyring, mq, notify, pager, patchbomb, progress, purge, rebase, record, relink, schemes, share, transplant, zeroconf
Traceback (most recent call last):
  File "/usr/bin/hg", line 27, in <module>
    mercurial.dispatch.run()
  File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 16, in run
    sys.exit(dispatch(sys.argv[1:]))
  File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 30, in dispatch
    return _runcatch(u, args)
  File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 47, in _runcatch
    return _dispatch(ui, args)
  File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 466, in _dispatch
    return runcommand(lui, repo, cmd, fullargs, ui, options, d)
  File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 336, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.6/site-packages/mercurial/extensions.py", line 128, in wrap
    return wrapper(origfn, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/hgext/pager.py", line 66, in pagecmd
    return orig(ui, options, cmd, cmdfunc)
  File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 517, in _runcommand
    return checkargs()
  File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 471, in checkargs
    return cmdfunc()
  File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 465, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/python2.6/site-packages/mercurial/util.py", line 401, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/extensions.py", line 116, in wrap
    util.checksignature(origfn), *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/util.py", line 401, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/hgext/color.py", line 352, in nocolor
    return orig(*args, **opts)
  File "/usr/lib/python2.6/site-packages/mercurial/util.py", line 401, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/extensions.py", line 116, in wrap
    util.checksignature(origfn), *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/util.py", line 401, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/hgext/mq.py", line 2648, in mqcommand
    return orig(ui, repo, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/util.py", line 401, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/extensions.py", line 116, in wrap
    util.checksignature(origfn), *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/util.py", line 401, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/hgext/graphlog.py", line 365, in graph
    return orig(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/util.py", line 401, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/mercurial/commands.py", line 2275, in outgoing
    other = hg.repository(cmdutil.remoteui(repo, opts), dest)
  File "/usr/lib/python2.6/site-packages/mercurial/hg.py", line 82, in repository
    repo = _lookup(path).instance(ui, path, create)
  File "/usr/lib/python2.6/site-packages/mercurial/httprepo.py", line 271, in instance
    inst.between([(nullid, nullid)])
  File "/usr/lib/python2.6/site-packages/mercurial/httprepo.py", line 190, in between
    d = self.do_read("between", pairs=n)
  File "/usr/lib/python2.6/site-packages/mercurial/httprepo.py", line 134, in do_read
    fp = self.do_cmd(cmd, **args)
  File "/usr/lib/python2.6/site-packages/mercurial/httprepo.py", line 85, in do_cmd
    resp = self.urlopener.open(req)
  File "/usr/lib/python2.6/urllib2.py", line 397, in open
    response = meth(req, response)
  File "/usr/lib/python2.6/urllib2.py", line 510, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.6/urllib2.py", line 429, in error
    result = self._call_chain(*args)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 855, in http_error_401
    url, req, headers)
  File "build/bdist.linux-i686/egg/mercurial_keyring.py", line 339, in basic_http_error_auth_reqed
  File "/usr/lib/python2.6/urllib2.py", line 833, in http_error_auth_reqed
    return self.retry_http_basic_auth(host, req, realm)
  File "/usr/lib/python2.6/urllib2.py", line 836, in retry_http_basic_auth
    user, pw = self.passwd.find_user_password(realm, host)
  File "build/bdist.linux-i686/egg/mercurial_keyring.py", line 333, in find_user_password
  File "build/bdist.linux-i686/egg/mercurial_keyring.py", line 184, in find_auth
  File "build/bdist.linux-i686/egg/mercurial_keyring.py", line 67, in get_http_password
  File "/usr/local/lib/python2.6/site-packages/keyring/core.py", line 37, in get_password
    return _keyring_backend.get_password(service_name, username)
  File "/usr/local/lib/python2.6/site-packages/keyring/backend.py", line 143, in get_password
    items = gnomekeyring.find_network_password_sync(username, service)
gnomekeyring.IOError

我的~/.hgrc(OpenSUSE 机器)

[ui]
username=c123456 <Arun.Sangal@MyCompany.com>

[extensions]
mercurial_keyring = /root/mercurial_keyring.py

#[trusted]
#users = *
#groups = *

[extensions]
acl =
bugzilla =
children =
churn =
color =
convert =
eol = !
extdiff =
factotum = !
fetch =
gpg =
graphlog =
hgcia =
hgcr-gui-qt = !
hgk =
highlight =
interhg =
keyword =
largefiles = !
mercurial_keyring =
mq =
notify =
pager =
patchbomb =
perfarce = !
progress =
projrc = !
purge =
rebase =
record =
relink =
schemes =

.... ......等


我的本​​地仓库 (在 OpenSuse 克隆文件夹中 - 内部:/Giga/.hg/hgrc)是:


[paths]
default = http://the.hg.server.com/hg/TestHgRepo1/
myrepo = http://the.hg.server.com/hg/TestHgRepo1/

[auth]
myrepo.schemes = http https
myrepo.prefix = the.hg.server.com/hg
myrepo.username = c123456

我尝试了所有方法,但这个 Keyring 东西不起作用。每次我都会得到提示:

  • Mercurial 排出

  • Mercurial push

  • etc hg 操作但我做的时候没有

Mercurial 提交

有人能告诉我我到底错过了什么吗?使用 TortoiseHg 在 Windows 上尝试相同的练习,使用 C:...\mercurial.ini(Windows 端有点像 unix ~/.hgrc 文件).. 并更新/确保本地存储库克隆文件夹的 ../clonedfolder/.hg/hgrc 文件包含类似的 [auth] ..3 行,但 Linux OpenSUSE 上的 Mercurial 和使用 TortoiseHg 的 Windows 上的 Mercurial 无法使用 key 环。

它提示我再次输入用户凭据 :((

有人可以纠正我应该怎么做才能解决这个问题。

最佳答案

如果在 mercurial 中多次提示用户凭据。然后设置 Mercurial_Keyring

这个问题来了,没有人用简单的方式解释。

???如果我使用服务器名、服务器名的 IP 或服务器名的 FQDN,如何使 [auth] xx.prefix = servername/hg_or_something 适用于服务器名/hg 位置下的所有存储库?

最终答案:Arun • 2 分钟前 -

好的,我把它放在 ~/.hgrc(Linux/Unix 主目录的 .hgrc 隐藏文件)或 Windows 用户 %UserProfile%/mercurial.ini 或 %HOME%/mercurial.ini 文件中。

[auth]
default1.schemes = http https
default1.prefix = hg_merc_server/hg
default1.username = c123456

default2.schemes = http https
default2.prefix = hg_merc_server.company.com/hg
default2.username = c123456

default3.schemes = http https
default3.prefix = 10.211.222.321/hg
default3.username = c123456

现在,我可以使用服务器/IP/服务器的 FQDN 结帐。

关于authentication - .hg/hgrc 中未指定 hg 推送错误和用户名。不会使用 key 环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12503421/

相关文章:

git - 通过文件服务器镜像存储库

java - Ldap:监听外部所做的更改

python ldap属性查询

c# - 尝试获取用于访问自定义 api 的 token 时出现 MSAL 错误消息 AADSTS65005

java - 如何使用 JDBCRealm 获取登录用户的用户名?

mercurial - 在mercurial中,如何处理两个版本中同名的文件和目录?

svn - 从 ClearCase 到 Mercurial,再到 Subversion。我应该担心吗?

redirect - 登录失败后如何返回Referer?

android - 在Android上读取MIFARE Classic卡时如何防止 key 泄露?

ldap - LDAP 有何用途?