3

私たちのリポジトリは、デフォルト ブランチ (新機能が開発される場所) と安定ブランチ (バグ修正が実装される場所) の 2 つのブランチで構成されています。開発者がデフォルト ブランチを安定版ブランチにマージしてプッシュすると、変更をプルまたはプッシュしようとすると、他のすべての開発者がエラー 400: リターン コード 255 を伴う不正な要求を受け取ります。

同じサーバー上にあるが、同じ問題に悩まされていないように見える異なるチームによって使用される他の複数のリポジトリがあります。問題のリポジトリは、当社の Web 開発チームが WebStorm IDE と組み合わせて使用​​しています。

同じリポジトリでこの問題に遭遇したのはこれが 2 回目です。前回それが起こったとき、私たちは新しいリポジトリを作成し、すべての履歴を失いました. 明らかに、これは理想的なソリューションではなく、非常に望ましくありません。エラーの原因を特定したいと考えています。

リポジトリを複製すると、誰かが 2 つのブランチのマージを含む新しい変更をプッシュするまで問題は一時的に解決され、変更をプッシュした人以外の全員がエラーを受け取り始めます。

以下は、hg --debug --traceback pullの出力です。

C:\Dev\HosedPrism>hg --debug --traceback pull
using http://mercurialserver01:8080/hg/rproxweb_OLD/
sending capabilities command
using auth.rprox.* for authentication
http auth: user jpalumbo, password ********
pulling from http://mercurialserver01:8080/hg/rproxweb_OLD/
query 1; heads
sending heads command
http auth: user jpalumbo, password ********
searching for changes
taking initial sample
searching: 2 queries
query 2; still undecided: 208, sample size is: 200
sending known command
http auth: user jpalumbo, password ********
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 88, in _runcatch
File "mercurial\dispatch.pyo", line 743, in _dispatch
File "mercurial\dispatch.pyo", line 514, in runcommand
File "mercurial\dispatch.pyo", line 833, in _runcommand
File "mercurial\dispatch.pyo", line 804, in checkargs
File "mercurial\dispatch.pyo", line 740, in <lambda>
File "mercurial\util.pyo", line 475, in check
File "mercurial\extensions.pyo", line 144, in wrap
File "mercurial\util.pyo", line 475, in check
File "hgext\mq.pyo", line 3508, in mqcommand
File "mercurial\util.pyo", line 475, in check
File "mercurial\commands.pyo", line 4743, in pull
File "mercurial\localrepo.pyo", line 1670, in pull
File "mercurial\discovery.pyo", line 46, in findcommonincoming
File "mercurial\setdiscovery.pyo", line 182, in findcommonheads
File "mercurial\wireproto.pyo", line 115, in plain
File "mercurial\wireproto.pyo", line 163, 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 438, in error
File "urllib2.pyo", line 378, in _call_chain
File "urllib2.pyo", line 1078, in http_error_401
File "mercurial\url.pyo", line 407, in http_error_auth_reqed
File "urllib2.pyo", line 963, in http_error_auth_reqed
File "urllib2.pyo", line 974, in retry_http_digest_auth
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

hg verifyは、リポジトリ内の破損を報告しません。

次の質問Mercurial が Error 400: Bad Request を返し続けるので、hg rollback コマンドを使用しようとしました。ただし、これで問題が解決したようには見えませんでした。

誰かが同様の問題に遭遇したことがありますか? または、問題が何であるかについて何か洞察がありますか? 私たちの歴史を救うだけでなく、将来このようなことが起こらないようにするために、どんな助けにも永遠に感謝します.

4

0 に答える 0