0
votes

I'm cloning a large mercurial repository ( > 10Gb) over http protocol from an IIS 8.5 Server. Although setting the maxAllowedContentLength and maxRequestLength to values over 2Gb, I'm still unable to clone the repo. It seems I'm hitting a download limitation size. The following exception is thrown:

bundle2-input-part: total payload size 64680856
bundle2-input-bundle: 0 parts total
transaction abort!
rollback completed
Abort: stream ended unexpectedly (got 0 bytes, expected 4)

My web.config file:

<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="4294967295" />
        </requestFiltering>
    </security>
<system.webServer>
<system.web>
    <sessionState timeout="240" />
    <httpRuntime executionTimeout="14400" maxRequestLength="2147483647" />
</system.web>

To my understanding adjusting the maxAllowedContentLength or maxRequestLength to values over 2Gb does not help because these settings are for ASP.NET, and not for IIS.

1

1 Answers

0
votes

With incremental pulls you can get the entire repository on a changeset-by-changeset basis, thus reducing the amount of data transferred during each operation to an absolute minimum:

https://www.google.com/search?q=hg+incremental+clone

particularly check out this other question Is there any way to clone a repository from the web incrementally?

or perhaps more end-user solutions like this one https://github.com/tusharvjoshi/incremental-hg (which I don't endorse because I don't know it at all)