raise RevlogError when parser can't parse the revlog index
Initial patch and test thanks to Nicolas Dumazet.
#!/bin/sh
echo % prepare repo
hg init a
cd a
echo "some text" > FOO.txt
echo "another text" > bar.txt
echo "more text" > QUICK.txt
hg add
hg ci -d '0 0' -mtest1
echo
echo % verify
hg verify
echo
echo % introduce some bugs in repo
cd .hg/store/data
mv _f_o_o.txt.i X_f_o_o.txt.i
mv bar.txt.i xbar.txt.i
rm _q_u_i_c_k.txt.i
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