Restoring files from a corrupt bundle

Matt Mackall mpm at selenic.com
Mon Nov 29 15:23:56 CST 2010


On Mon, 2010-11-29 at 22:07 +0100, Erik Muttersbach wrote:
> I just found out that the size of the file I commted was 3050086400
> Bytes, so about 2.8GB. You wrote that you use 31bit, so this probably
> caused an overflow?

It'll cause an overflow in a few places:

a) when writing the first revision to the revlog, we'll store an
uncompressed size modulo 2G, but we'll still be able to successfully
read the whole file

b) when building the bundle for transmission or stripping, we'll report
a chunk size modulo 2G, which will be interpreted as a negative number
and thus look like an empty chunk.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial mailing list