[issue2337] Corruption using parentdelta
Dan Villiom Podlaski Christiansen
bugs at mercurial.selenic.com
Wed Aug 18 10:30:48 UTC 2010
New submission from Dan Villiom Podlaski Christiansen <danchr at gmail.com>:
I just wanted to try out the new parentdelta support on a conversion using
hgsubversion that resulted in a rather huge repository. (I tried it on the
result of a previous conversion: The regular result was about 2GB and went
down to about 400MB after using the shrink extension on some large files. A
parentdelta clone of it was ~200MB.)
Unfortunately, the conversion died about halfway through :( To reproduce,
install hgsubversion, download and unarchive the tarball at [1] and run the
following commands:
$ hg tip
abort: Invalid argument
$ hg rollback
rolling back to revision 41336 (undo commit)
$ hg svn rebuildmeta
$ hg pull
pulling from http://svn.python.org/projects/python/
[r46973] jackilyn.hoxworth: Created folder remotely
[r46974] jackilyn.hoxworth: made a copy
[r46976] jackilyn.hoxworth: Added a file remotely
transaction abort!
rollback completed
abort: Invalid argument
$ hg tip --traceback
Traceback (most recent call last):
<snip>
File "/opt/python/lib/python2.7/site-packages/mercurial/revlog.py", line
1090, in revision
self._loadindex(base, rev + 1)
File "/opt/python/lib/python2.7/site-packages/mercurial/revlog.py", line
508, in _loadindex
self.index.p.loadindex(start, end)
File "/opt/python/lib/python2.7/site-packages/mercurial/revlog.py", line
266, in loadindex
self.loadblock(blockstart, blocksize)
File "/opt/python/lib/python2.7/site-packages/mercurial/revlog.py", line
181, in loadblock
self.dataf.seek(blockstart)
IOError: [Errno 22] Invalid argument
abort: Invalid argument
I investigated a bit, and it turns out that this is failing because
‘blockstart’ ends up being a negative value.
[1] <http://dl.dropbox.com/u/6706818/python-parentdelta-corrupt.tar> ~100MB
----------
messages: 13382
nosy: danchr, in3xes
priority: bug
status: unread
title: Corruption using parentdelta
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2337>
____________________________________________________
More information about the Mercurial-devel
mailing list