2012-08-23 20 views
6

Cada vez que intento hacer una interacción con el servidor, Mercurial devuelve "abortar: Error HTTP 400: Solicitud incorrecta". No estamos usando ninguna autenticación, así que eso no es un problema. Tenemos otros tres desarrolladores trabajando en el mismo repositorio con la misma versión de mercurial instalada (2.2.3). No han tenido ningún problema, así que me hace pensar que estoy corrompiendo algo en la carpeta .hg o algo así. Pero realmente no tengo idea.Mercurial sigue volviendo Error 400: Solicitud incorrecta

Pude clonar y trabajar desde el nuevo directorio muy bien. Sin embargo, unas 4 horas después, comenzó a suceder nuevamente en el nuevo directorio también. Las únicas cosas que hice en ese período de tiempo fueron cometer, tirar y empujar. Cuando me comprometí unas horas más tarde e intenté tirar, fue entonces cuando volví a tener el error.

Aquí está el registro de depuración para el entrante (hg --debug --traceback entrante):

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 

Como he dicho antes, no puedo hacer un clon, pero si trato de ejecutar llamadas entrantes, salientes, tirar, o empujar, obtengo este error.

Respuesta

6

que era capaz de resolver este problema mediante la ejecución de

hg rollback 

Una vez me encontré con esto, no comprometidos mis archivos (pero mantuvo a los cambios, por lo que pude ver los archivos modificados en el estado de Hg). Entonces pude ejecutar la entrada y la extracción. Luego volví a comprometer mi código y lo saqué sin problemas.

Así que algo debe estar corrompiéndose cuando me comprometo, simplemente no estoy seguro de por qué.

+0

Tuve exactamente el mismo problema y esto lo solucionó, gracias. –

2

No sé cuál es el problema en este caso específico. Pero tuvimos un problema diferente con el mismo resultado: los comandos entrantes y de extracción fallaron con 400 Bad Request. Así que aquí está el recibo de cómo investigar el error, en caso de que hg -v --debug no ayude.

Tome Fiddler para capturar y revelar el tráfico HTTP. A continuación, ejecute la solicitud de mercurio de la siguiente manera:

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

La configuración hace que vuelve a dirigir peticiones a través de violinista, que se escucha en el puerto 8888. Luego, en Fiddler, puede encontrar la respuesta 400 de color rojo y en el panel de inspectores para ver un mensaje completo , no solo el código

Puede consultar here para obtener detalles sobre nuestro problema, investigación y resolución.

Cuestiones relacionadas