2010-03-24 8 views
8

He creado un servidor de Mercurial en un/IIS 6 máquina de Windows 2003 y cuando intento de sacar el repositorio Me da la siguiente secuenciaConfiguración de un servidor de Mercurial en IIS 6

requesting all changes 
adding changesets 
adding manifests 
adding file changes 
transaction abort! 
rollback completed 
abort: premature EOF reading chunk (got 91303 bytes, expected 1542634) 

tengo intenté prácticamente todo lo que pude pensar, pero sin éxito. Seguí los pasos de la guía Jeremy Skinners para hacerlo para IIS7, pero en un servidor IIS6.

Encontré un post donde el autor estaba teniendo el mismo problema, pero no pudo encontrar una solución.

Hasta ahora parece que la solución es migrar a Apache o actualizar a Windows 2008/II7 .. pero si alguien sabe cómo resolver esto, por favor hágamelo saber

Respuesta

10

Voy a responder a esto yo mismo.

El problema resultó ser que hay un tiempo de espera de secuencia de comandos CGI de 5 minutos en IIS 6 (y de abajo, no estoy seguro acerca de 7) y esto fue lo que siguió siendo golpeado. Para cambiar el valor de tiempo de espera, debe tener instalado IIS 6 Resource Kit.

Una vez instalado, inicie el metabase Explorador utilidad y vaya a \ LM \ W3SVC y localice el CGITimeout entrada y cambiar el valor del valor predeterminado 300 (5 minutos) a un valor más alto (que terminé usando 20 minutos).

Después de cambiar el valor, reinicié IIS para asegurarme de que el servidor lo utilizaba. ¡Una vez hecho esto, todo funcionó como un amuleto!

Cruz publicado en mi blog

+0

¡Impresionante! ¡Pensé que había corrompido algo cuando moví los repos! Buen ahorro –

+1

Gracias por publicar la respuesta. Esto nos estaba causando problemas también. Un clon completo funcionó algunas veces (conexión rápida) pero falló otras veces (conexión lenta). No es estrictamente necesario instalar el Kit de recursos de IIS 6. Es suficiente marcar "Habilitar la edición directa de la metabase" (en el cuadro de diálogo de propiedades del Administrador de IIS), luego edite directamente el archivo XML Metabase.xml (que se encuentra en el directorio "\ WINDOWS \ system32 \ inetsrv") para cambiar el valor del Configuración "CGITimeout". Por supuesto, el explorador de la metabase es probablemente más conveniente si necesita hacer otros cambios. –

-1

¿Ha revisado Joel's tutorial? Quizás encuentres la respuesta allí.

+0

Nada acerca de IIS que aloja allí, o simplemente he perdido? – TheCodeJunkie

+0

Nada que valga la pena, pero http://hginit.com/02.html contiene información básica sobre el uso de 'hg serve', que es terrible para una empresa profesional. – goldenratio

2

no he probado todavía, pero no es esto: Running Mercurial on Windows

Si se desplaza hacia abajo a la "Windows Server 2003/XP" sección, creo que debe cubrir para IIS 6.

Cuestiones relacionadas