Mercurial push,abort:授权失败

Pio*_*zia 46 apache https mercurial apache2 repository

我在推送到mercurial存储库时遇到问题:

$ hg push
pushing to https://user:***@hg.domain.com/X_repo
searching for changes
abort: authorization failed
Run Code Online (Sandbox Code Playgroud)

可以通过Web浏览器访问相同的URL(具有相同的凭据).另外,我尝试了它而没有将usr + pass嵌入到URL中.

HTTPS配置正确,我尝试了Basic和Digest身份验证 - 没有运气.

拉(通过HTTP)工作正常.

我正在使用hgwebdir来服务我的回购.

我还应该检查什么?

我找到了这个:http://code.google.com/p/support/issues/detail?id = 2580 在我的情况下,它不是随机的,它每次都会发生.

我的vhost conf的相关部分:

  WSGIScriptAlias  /  /home/(...)/hgwebdir.wsgi

  <Directory /home/(...)>
    AuthType Basic
    AuthUserFile /(...)/basic-password
    AuthName (...)
    Require valid-user

    Order deny,allow
    Allow from all
  </Directory>

$ hg -v
Mercurial Distributed SCM (version 1.0.2)
Run Code Online (Sandbox Code Playgroud)

奇怪的是,hg传出工作正常:

$ hg outgoing
comparing with https://hg.domain.com/X_repo
http authorization required
realm: ...
user: ...
password: 
searching for changes
changeset:   64:...
tag:         tip
user:        ...
date:        ...
summary:     ...
Run Code Online (Sandbox Code Playgroud)

luk*_*mdo 52

如果有人想让它在本地机器上运行,那么将其添加到服务器REPO/.hg/hgrc将完成工作:

[web]
allow_push = *
push_ssl = false
Run Code Online (Sandbox Code Playgroud)

本网站所述.


Pio*_*zia 20

问题原来是repo dir权限.chown www-data解决了......

  • 不要忘记你.hg/hgrc的[web]部分也需要allow_push (15认同)
  • $ sudo chown -R wwwrun:www/srv/www/htdocs/hg/reposfrom https://www.mercurial-scm.org/wiki/HgWebDirStepByStep第7节,对于那些不太适合linux的用户. (6认同)
  • 对于那些使用Ubuntu的人:sudo chown -R www-data:www-data/var/hg/repos (2认同)