Mercurial push, abort: authorization failed

35,647

Solution 1

Problem turned out to be repo dir permissions. chown www-data solved it...

Solution 2

If anybody wants to make it run on local machine then adding this to server REPO/.hg/hgrc will do the work:

[web]
allow_push = *
push_ssl = false

as described at this site.

Solution 3

For those with TortoiseHg pushing to a web server (another unauthorized user on another PC):

In TortoiseHg: File - Settings - (Either globally or just for the current repository - tabs) then the Server settings. Web Server

Push Requires SSL - No
Allow Push - *

This does the same thing through the UI as lukmdo's answer above (editing the hgrc file).

Solution 4

It is strange that you can run hg outgoing but not hg push since it is my understanding that they both authenticate in the same way.

Unfortunately I'm not a hgweb expert. Please mail to the Mercurial list ([email protected]) and/or come online in IRC (#mercurial on irc.freenode.net). There will be many more people to help you there. IRC is especially good since these things are much easier to debug interactively.

Solution 5

Just in case it might help someone - I encountered this error for unknown reasons, all permissions were OK, and just restarting apache solved it.

Share:
35,647

Related videos on Youtube

Piotr Byzia
Author by

Piotr Byzia

macOS and iOS developer, with Pythonic roots, and Bioinformatics in his DNA ;-) Goodies for Mac StackReader for iPad

Updated on November 13, 2020

Comments

  • Piotr Byzia
    Piotr Byzia over 3 years

    I'm having problems with pushing to mercurial repository:

    $ hg push
    pushing to https://user:***@hg.domain.com/X_repo
    searching for changes
    abort: authorization failed
    

    The same URL (with the same credentials) is accessible through the web browser. Also, I tried it without embedding usr+pass into the URL.

    HTTPS is correctly configured, I tried both Basic and Digest auth -- without a luck.

    Pulling (through HTTP) works fine.

    I'm using hgwebdir to serve my repo.

    What else should I check?

    I found this: http://code.google.com/p/support/issues/detail?id=2580 In my case it's not random, it happens every single time.

    Relevant part of my 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)
    

    Strangely enough hg outgoing works ok:

    $ 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:     ...
    
  • Piotr Byzia
    Piotr Byzia almost 15 years
    Thanks for suggestions. I actually already tried IRC -- without a luck :/ I'll try with the mailing list.
  • user1025901
    user1025901 over 14 years
    Don't forget that you also need allow_push in the [web] section of your .hg/hgrc
  • bulltorious
    bulltorious over 13 years
    $ sudo chown -R wwwrun:www /srv/www/htdocs/hg/reposfrom mercurial-scm.org/wiki/HgWebDirStepByStep Section 7, for those not so good with linux.
  • Houman
    Houman about 12 years
    For those using Ubuntu: sudo chown -R www-data:www-data /var/hg/repos
  • Kemin Zhou
    Kemin Zhou over 8 years
    Even I put the owner ship to 'www-data' I still have the problem:password: sending [===========================================================‌​====================‌​=>] 6/6 01sabort: authorization failed
  • Kemin Zhou
    Kemin Zhou over 8 years
    I have tested allow_push = * or <anotheruser> both still giving me authentication failure
  • logicbloke
    logicbloke about 6 years
    To check for the apache user on the system, have a look at /etc/passwd
  • Amarjit Dhillon
    Amarjit Dhillon almost 5 years
    I was having the same issue :P