2012-08-23 35 views
6

サーバとのやりとりを行うたびに、Mercurialは「abort:HTTP Error 400:Bad Request」を返します。私たちは認証を使用していないので、問題はありません。同じバージョンのMercurialをインストールした同じレポに取り組んでいる3人の開発者がいます(2.2.3)。彼らは何の問題も持っていないので、私が.hgフォルダなどの何かを壊していると思うようになります。しかし、私は本当に手掛かりがありません。Mercurialはエラー400:Bad Requestを返し続けます。

私はクローンして新しいディレクトリからうまく動作することができました。しかし、約4時間後、新しいディレクトリでも再び起き始めました。私がその時代にしたことは、コミット、プル、プッシュだけでした。私が数時間後に犯して引っ張ってしまったとき、それが再びエラーになったときです。

はここ(HG --debug --traceback入ってくる)、着信用のデバッグログです:私が先に言ったように

using http://myserver/myapp 
sending capabilities command 
comparing with http://myserver/myapp 
query 1; heads 
sending batch command 
searching for changes 
taking initial sample 
searching: 2 queries 
query 2; still undecided: 208, sample size is: 200 
sending known command 
Traceback (most recent call last): 
File "mercurial\dispatch.pyo", line 88, in _runcatch 
File "mercurial\dispatch.pyo", line 740, in _dispatch 
File "mercurial\dispatch.pyo", line 514, in runcommand 
File "mercurial\dispatch.pyo", line 830, in _runcommand 
File "mercurial\dispatch.pyo", line 801, in checkargs 
File "mercurial\dispatch.pyo", line 737, in <lambda> 
File "mercurial\util.pyo", line 472, in check 
File "mercurial\extensions.pyo", line 144, in wrap 
File "mercurial\util.pyo", line 472, in check 
File "hgext\mq.pyo", line 3528, in mqcommand 
File "mercurial\util.pyo", line 472, in check 
File "mercurial\commands.pyo", line 3894, in incoming 
File "mercurial\hg.pyo", line 513, in incoming 
File "mercurial\hg.pyo", line 472, in _incoming 
File "mercurial\bundlerepo.pyo", line 342, in getremotechanges 
File "mercurial\discovery.pyo", line 45, in findcommonincoming 
File "mercurial\setdiscovery.pyo", line 184, in findcommonheads 
File "mercurial\wireproto.pyo", line 116, in plain 
File "mercurial\wireproto.pyo", line 164, in _submitone 
File "mercurial\httppeer.pyo", line 170, in _call 
File "mercurial\httppeer.pyo", line 118, in _callstream 
File "urllib2.pyo", line 406, in open 
File "urllib2.pyo", line 519, in http_response 
File "urllib2.pyo", line 444, in error 
File "urllib2.pyo", line 378, in _call_chain 
File "urllib2.pyo", line 527, in http_error_default 
HTTPError: HTTP Error 400: Bad Request 
abort: HTTP Error 400: Bad Request 

が、私はクローンを行うことができますが、私は、発信着信を実行しようとした場合、プル、プッシュすると、このエラーが発生します。

答えて

6

私はそれが私のファイルをコミットされていない(ただし、変更を保ち、私はHGの状態で変更されたファイルを見ることができる)、ということ走ったら

hg rollback 

を実行することによってこの問題を解決することができました。私はその後、着信を実行して引き出すことができました。それから、私はコードを再コミットし、問題なくプッシュしました。

私はコミットするときに何かが壊れている必要があります。理由はわかりません。

+0

私は全く同じ問題を抱えていましたが、これは修正されました。ありがとうございます。 –

2

私はこの特定のケースで何が問題なのか分かりません。しかし、同じ結果には別の問題がありました。つまり、着信コマンドとプルコマンドは、400 Bad Requestで失敗しました。 hg -v --debugが役に立たない場合は、ここで失敗の調査方法を受け取ります。

Fiddlerを取得してHTTPトラフィックをキャプチャします。次のように水銀の要求を実行します。

hg --config http_proxy.host=127.0.0.1:8888 pull 

設定は、あなたが赤の400回答を見つけることができフィドラーに続いてポート8888でリッスンしているバイオリン弾き、を介して要求のリダイレクトを引き起こし、検査官にペインメッセージ全体を見るために、コードだけではありません。

お客様の問題、調査、解決方法の詳細については、hereをご覧ください。

関連する問題