view tests/test-dumprevlog @ 7154:7fdf7a0a41b7

index parser: fix refcounting in case of errors, refactor due to incorrect refcounting, on a bad revlog it was failing with: *** glibc detected *** /usr/bin/python: corrupted double-linked list: 0x0816d318 *** and a backtrace.
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Sun, 19 Oct 2008 01:26:46 +0200
parents 7a6243bf209d
children 7946503ec76e
line wrap: on
line source

#!/bin/sh

CONTRIBDIR=$TESTDIR/../contrib

mkdir repo-a
cd repo-a
hg init

echo this is file a > a
hg add a
hg commit -m first -d '0 0'

echo adding to file a >> a
hg commit -m second -d '0 0'

echo adding more to file a >> a
hg commit -m third -d '0 0'

hg verify

echo dumping revlog of file a to stdout:
python $CONTRIBDIR/dumprevlog .hg/store/data/a.i
echo dumprevlog done

# dump all revlogs to file repo.dump
find .hg/store -name "*.i" | sort | xargs python $CONTRIBDIR/dumprevlog > ../repo.dump

cd ..

mkdir repo-b
cd repo-b
hg init

echo undumping:
python $CONTRIBDIR/undumprevlog < ../repo.dump
echo undumping done

hg verify

cd ..

echo comparing repos:
hg -R repo-b incoming repo-a
hg -R repo-a incoming repo-b
echo comparing done

exit 0