pure parsers: properly detect corrupt index files
This new Python code should be equivalent in behavior to the if
statement at line 312 of parsers.c. Without this, the pure-python
parsers improperly ignore truncated revlogs as created in
test-verify.t.
--- a/mercurial/pure/parsers.py Tue May 24 14:08:20 2011 +0200
+++ b/mercurial/pure/parsers.py Tue May 24 13:30:10 2011 -0500
@@ -56,6 +56,9 @@
n += 1
off += s
+ if off != len(data):
+ raise ValueError('corrupt index file')
+
if index:
e = list(index[0])
type = gettype(e[0])