2012-08-23 18 views
6

Ogni volta che provo a interagire con il server, Mercurial restituisce "abort: HTTP Error 400: Bad Request". Non stiamo utilizzando alcuna autenticazione, quindi non è un problema. Abbiamo altri tre sviluppatori che lavorano sullo stesso repository con la stessa versione di mercurial installata (2.2.3). Non hanno avuto problemi, quindi mi fa pensare che sto corrompendo qualcosa nella cartella .hg o qualcosa del genere. Ma davvero non ne ho idea.Mercurial continua a restituire l'errore 400: Richiesta errata

Sono riuscito a clonare e lavorare correttamente nella nuova directory. Tuttavia, circa 4 ore dopo, ha iniziato a ripetersi anche nella nuova directory. Le uniche cose che ho fatto in quel periodo sono state commettere, tirare e spingere. Quando mi sono impegnato poche ore dopo e ho provato a tirare, è allora che ho ripreso l'errore.

Ecco il registro di debug per l'incoming (hg --debug --traceback in arrivo):

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 

Come ho detto prima, non posso fare un clone, ma se provo a correre in entrata, in uscita, tirare, o spingere, ottengo questo errore.

risposta

6

sono stato in grado di risolvere questo problema eseguendo

hg rollback 

Una volta che mi sono imbattuto, ma non impegnati i miei file (ma tenuto le modifiche, così ho potuto vedere i file modificati in hg status). Sono stato quindi in grado di eseguire in arrivo e tirare. Poi ho reimpegnato il mio codice e l'ho spinto fuori senza problemi.

Quindi qualcosa deve essere danneggiato quando mi impegno, ma non sono sicuro del perché.

+0

Ho avuto esattamente lo stesso problema e questo l'ha risolto, grazie. –

2

Non so qual è il problema in questo caso specifico. Ma abbiamo avuto un problema diverso con lo stesso risultato: i comandi in entrata e in uscita non sono riusciti con 400 Bad Request. Quindi ecco la ricevuta su come indagare sull'errore, nel caso in cui hg -v --debug non aiuti.

Prendere Fiddler per acquisire e rivelare il traffico HTTP. Quindi eseguire richiesta mercuriale come segue:

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

La configurazione fa sì che i reindirizzamenti di richieste attraverso Fiddler, che è in ascolto sulla porta 8888. Poi, nel Fiddler, è possibile trovare il rosso 400 risposta e ispettori riquadro per vedere un intero messaggio , non solo il codice.

Si può cercare here per dettagli sul nostro problema, indagine e risoluzione.

Problemi correlati