2009-06-03 11 views
42

Mam problemy z pchanie do mercurial repozytorium:Mercurial pchania, przerwać: autoryzacja nie powiodła

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

Ten sam URL (z tych samych poświadczeń) jest dostępny za pośrednictwem przeglądarki internetowej. Próbowałem też bez osadzania usr + pass na URL.

HTTPS jest poprawnie skonfigurowany, próbowałem uwierzytelnienia Basic i Digest - bez powodzenia.

Ciągnięcie (przez HTTP) działa dobrze.

Używam hgwebdir do obsługi mojego repo.

Co jeszcze należy sprawdzić?

Znalazłem: http://code.google.com/p/support/issues/detail?id=2580 W moim przypadku nie jest przypadkowe, zdarza się za każdym razem.

odpowiedniej części mojego 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) 

dziwo Hg dzieła wychodzące 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:  ... 

Odpowiedz

18

Problem okazał się uprawnieniami repo dir. chown www-data rozwiązać go ...

+13

Nie zapominaj, że potrzebujesz również allow_push w sekcji [web] twojego .hg/hgrc –

+6

$ sudo chown -R wwwrun: www/srv/www/htdocs/hg/reposfrom https: //www.mercurial-scm .org/wiki/HgWebDirStepByStep Section 7, dla tych, którzy nie są tak dobrzy w Linuksie. – bulltorious

+1

Dla tych, którzy używają Ubuntu: sudo chown -R dane-www: www-data/var/hg/repos – Houman

3

To jest dziwne, że można uruchomić hg outgoing ale nie hg push ponieważ jest moje rozumienie obaj uwierzytelniają się w ten sam sposób.

Niestety nie jestem ekspertem od hgweb. Wyślij wiadomość na numer Mercurial list ([email protected]) i/lub wejdź online w IRC (#mercurial na irc.freenode.net). Tam będzie o wiele więcej ludzi, którzy ci pomogą. IRC jest szczególnie dobry, ponieważ interakcje te są znacznie łatwiejsze do debugowania.

+1

Dzięki za sugestie. Właściwie już próbowałem IRC - bez powodzenia:/Spróbuję z listą mailingową. –

1

Tylko w przypadku, może to komuś pomóc - I napotkał ten błąd z nieznanych przyczyn, wszystkie uprawnienia były OK, a tylko ponowne uruchomienie Apache rozwiązać go.

48

Jeśli ktoś chce, aby go uruchomić na komputerze lokalnym, a następnie dodanie tego do serwera REPO/.hg/hgrc zrobi pracę:

[web] 
allow_push = * 
push_ssl = false 

jak opisano w this site.

+1

Testowałem allow_push = * lub oba nadal dają mi uwierzytelnianie niepowodzenie –

3

Dla tych z TortoiseHg popychanie do serwera WWW (inny nieautoryzowany użytkownik na innym komputerze):

W TortoiseHg: File - Settings - (Either globally or just for the current repository - tabs) wówczas ustawień Server. Web Server

Push Requires SSL - No 
Allow Push - * 

to robi to samo za pośrednictwem interfejsu użytkownika jako odpowiedź lukmdo „s powyżej (edytując plik hgrc).

0

To zdarzyło mi się po zmianie hasła bitbucket, to chociaż użyłem SourceTree zarządzać hasła i zmieniłem to globaly jeden repo miał jednak moje stare hasło zakodowane w REPO/.hg/hgrc zmienił linię i znowu wszystko działa

0

Mój problem był trochę inny. Zmiana hasła spowodowała ... I miałem repo/.hgrc i repo/.hg/hgrc. Nie wiem dlaczego, ale te były sprzeczne.

Dla przypomnienia, najczystszym sposobem znalazłem jest, aby zachować plik konfiguracji globalnej (w systemie Windows lub Linux /home/<user>/.hgrcC:\Users\<user>\mercurial.ini) ze wszystkich konfiguracji, które stosuje się do wszystkich repozytoriów (profile, plugins/rozszerzeń, repo, itp) , a następnie za repo, wystarczy użyć coś takiego:

[paths] 
default = https://path/to/remote/repo 

# any other repo-specific config 

Dlaczego miałem innego rtęciowego plik konfiguracyjny repo specyficzne, nie wiem - teraz wszystko jest czyszczone i działa dobrze.

Powiązane problemy