I've set up a Mercurial server on a Windows 2003 / IIS 6 machine and when I try to pull the repository I get the following sequence

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

I've tried pretty much everything I can think of, but with no success. I followed the steps of Jeremy Skinners guide on doing it for IIS7, but on an IIS6 server.

I found a post where the author was experiencing the same issue, but was unable to find a solution.

So far it looks like the solution is to migrate to Apache or upgrade to Windows 2008/II7 .. but if someone knows how to solve this, please let me know

Accepted Answer

I'll answer this one myself.

The problem turned out to be that there is a CGI script timeout of 5 minutes in IIS 6 (and below, not sure about 7) and this was what kept being hit. To change the timeout value you have to have the IIS 6 Resource Kit installed.

Once installed, start the MetaBase Explorer utility and navigate to \LM\W3SVC and locate the CGITimeout entry and change the value from the default 300 (5 minutes) to a higher value (I ended up using 20 minutes).

After changing the value I restarted IIS to make sure it was used by the server. Once this has been done, everything worked like a charm!

Cross posted on my blog

Written by TheCodeJunkie
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki