Mercurial push, abort: authorization failed

Viewed 35848

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:     ...
8 Answers

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

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 (mercurial@mercurial-scm.org) 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.

My solution! If your are on Windows OS, you need to edit folder properties. Read/write permission.

enter image description here

Very Important!! Dont forget turn off the web server, edit folder properties and turn on again the web server tortoiseHG

Related