mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 23:38:50 +03:00
merge with -stable
This commit is contained in:
commit
309c0e0a31
@ -460,7 +460,10 @@ class revlog(object):
|
||||
if self.version == REVLOGV0:
|
||||
self._io = revlogoldio()
|
||||
if i:
|
||||
d = self._io.parseindex(f, self._inline)
|
||||
try:
|
||||
d = self._io.parseindex(f, self._inline)
|
||||
except (ValueError, IndexError), e:
|
||||
raise RevlogError(_("index %s is corrupted") % (self.indexfile))
|
||||
self.index, self.nodemap, self._chunkcache = d
|
||||
|
||||
# add the magic null revision at -1 (if it hasn't been done already)
|
||||
|
@ -1,7 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo % prepare repo
|
||||
hg init
|
||||
hg init a
|
||||
cd a
|
||||
echo "some text" > FOO.txt
|
||||
echo "another text" > bar.txt
|
||||
echo "more text" > QUICK.txt
|
||||
@ -23,4 +24,22 @@ echo
|
||||
echo % verify
|
||||
hg verify
|
||||
|
||||
cd ..
|
||||
|
||||
echo % test revlog corruption
|
||||
hg init b
|
||||
cd b
|
||||
|
||||
touch a
|
||||
hg add a
|
||||
hg ci -m a
|
||||
|
||||
echo 'corrupted' > b
|
||||
head -c 20 .hg/store/data/a.i > start
|
||||
cat start b > .hg/store/data/a.i
|
||||
|
||||
echo
|
||||
echo % verify
|
||||
hg verify
|
||||
|
||||
exit 0
|
||||
|
@ -29,3 +29,16 @@ checking files
|
||||
3 files, 1 changesets, 0 total revisions
|
||||
9 integrity errors encountered!
|
||||
(first damaged changeset appears to be 0)
|
||||
% test revlog corruption
|
||||
|
||||
% verify
|
||||
checking changesets
|
||||
checking manifests
|
||||
crosschecking files in changesets and manifests
|
||||
checking files
|
||||
a@0: broken revlog! (index data/a.i is corrupted)
|
||||
warning: orphan revlog 'data/a.i'
|
||||
1 files, 1 changesets, 0 total revisions
|
||||
1 warnings encountered!
|
||||
1 integrity errors encountered!
|
||||
(first damaged changeset appears to be 0)
|
||||
|
Loading…
Reference in New Issue
Block a user