Mercurial push, abort: authorization failed
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.
Related videos on Youtube
Piotr Byzia
macOS and iOS developer, with Pythonic roots, and Bioinformatics in his DNA ;-) Goodies for Mac StackReader for iPad
Updated on November 13, 2020Comments
-
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 almost 15 yearsThanks for suggestions. I actually already tried IRC -- without a luck :/ I'll try with the mailing list.
-
user1025901 over 14 yearsDon't forget that you also need allow_push in the [web] section of your .hg/hgrc
-
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 about 12 yearsFor those using Ubuntu: sudo chown -R www-data:www-data /var/hg/repos
-
Kemin Zhou over 8 yearsEven I put the owner ship to 'www-data' I still have the problem:password: sending [================================================================================>] 6/6 01sabort: authorization failed
-
Kemin Zhou over 8 yearsI have tested allow_push = * or <anotheruser> both still giving me authentication failure
-
logicbloke about 6 yearsTo check for the apache user on the system, have a look at /etc/passwd
-
Amarjit Dhillon almost 5 yearsI was having the same issue :P