view tests/test-convert-bzr-ghosts @ 11963:7c3aa579d98a

parendelta: fix computation of base rev (fixes issue2337) Refactor revlog._addrevision() and put the correct base rev in the parent-delta case: base(rev) should always be equal to the first full snapshot that is needed by the delta chain, in both parent-delta and tip-delta case. Before this fix, the base rev was in most case wrong (and in the case where p1 == nullid, this triggered the bug from issue2337). This means that repositories converted to parent-delta earlier are corrupted and needs to be reconverted.
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Wed, 18 Aug 2010 19:37:23 +0200
parents 9e6d6568bf7a
children
line wrap: on
line source

#!/bin/sh

. "$TESTDIR/bzr-definitions"

cat > ghostcreator.py <<EOF
import sys
from bzrlib import workingtree
wt = workingtree.WorkingTree.open('.')

message, ghostrev = sys.argv[1:]
wt.set_parent_ids(wt.get_parent_ids() + [ghostrev])
wt.commit(message)
EOF

echo % ghost revisions
mkdir test-ghost-revisions
cd test-ghost-revisions
bzr init -q source
cd source
echo content > somefile
bzr add -q somefile
bzr commit -q -m 'Initial layout setup'
echo morecontent >> somefile
python ../../ghostcreator.py 'Commit with ghost revision' ghostrev
cd ..
hg convert source source-hg
glog -R source-hg