Mercurialリポジトリへのプッシュに問題があります。
$ hg Push
pushing to https://user:***@hg.domain.com/X_repo
searching for changes
abort: authorization failed
同じURL(同じ資格情報を使用)には、Webブラウザーからアクセスできます。また、URLにusr + passを埋め込まずに試してみました。
HTTPSが正しく設定されているため、基本認証とダイジェスト認証の両方を試しましたが、うまくいきませんでした。
(HTTPを介した)プルは正常に機能します。
私はhgwebdirを使用してリポジトリを提供しています。
他に何を確認する必要がありますか?
私はこれを見つけました: http://code.google.com/p/support/issues/detail?id=258 私の場合、それはランダムではなく、毎回発生します。
私の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)
奇妙なことに、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: ...
問題は、リポジトリのパーミッションであることが判明しました。 chown www-data
解決しました...
ローカルマシンで実行したい場合は、これをサーバーに追加しますREPO/.hg/hgrc
は仕事をします:
[web]
allow_Push = *
Push_ssl = false
このサイト で説明されています。
TortoiseHgを使用してWebサーバーにプッシュしているユーザー(別のPCの別の無許可ユーザー)の場合:
TortoiseHgで:File - Settings - (Either globally or just for the current repository - tabs)
、次にServer
設定。ウェブサーバー
Push Requires SSL - No
Allow Push - *
これは、UIを通じて上記のlukmdo
の回答(hgrcファイルを編集)と同じことを行います。
実行できるのはis奇妙ですhg outgoing
だがしかし hg Push
どちらも同じ方法で認証されることが私の理解です。
残念ながら、私はhgwebのエキスパートではありません。 Mercurialリスト ([email protected])にメールするか、IRC(#Mercurial
オン irc.freenode.net
)。そこにあなたを助ける多くの人々がいるでしょう。 IRCは、インタラクティブにデバッグする方がはるかに簡単なので、特に優れています。
それが誰かを助けるかもしれない場合に備えて-私は未知の理由でこのエラーに遭遇しました、すべての許可はOKでした、そしてApacheを再起動するだけでそれは解決しました。
私の問題は少し異なっていました。パスワードの変更によってトリガーされました...そしてrepo/.hgrc
とrepo/.hg/hgrc
。理由は不明ですが、これらは矛盾していました。
記録として、私が見つけた最もクリーンな方法は、グローバル構成ファイルを保持することです(WindowsでC:\Users\<user>\Mercurial.ini
またはLinux /home/<user>/.hgrc
)すべてのリポジトリに適用されるすべての構成(プロファイル、プラグイン/拡張機能、リポジトリなど)を使用し、リポジトリごとに次のようなものを使用します。
[paths]
default = https://path/to/remote/repo
# any other repo-specific config
なぜ別のリポジトリ固有のMercurial構成ファイルがあったのかわかりません-今ではすべてがクリーンアップされ、うまく機能しています。
これは、bitbucketパスワードを変更した後に起こりました。SourceTreeを使用してパスワードを管理し、グローバルに変更しましたが、1つのリポジトリでREPO/.hg/hgrc
に古いパスワードがハードコードされていたため、行が変更され、すべてが再び機能しました