view tests/test-convert-splicemap @ 10914:b7ca37b90762 stable

revlog: fix lazyparser.__iter__() to return all revisions (issue2137) Previously, it only returned revisions that were in the revlog when it was originally opened; revisions added since then were invisible. This broke revlog._partialmatch() and therefore repo.lookup(). (Credit to Benoit Boissinot for simplifying my original test script and for the actual fix.)
author Greg Ward <greg-hg@gerg.ca>
date Wed, 14 Apr 2010 15:06:40 -0400
parents bb5ea66789e3
children
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "convert=" >> $HGRCPATH
echo 'graphlog =' >> $HGRCPATH

glog()
{
    hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
}

hg init repo1
cd repo1
echo a > a
hg ci -Am adda
echo b > b
echo a >> a
hg ci -Am addb
PARENTID1=`hg id --debug -i`
echo c > c
hg ci -Am addc
PARENTID2=`hg id --debug -i`
cd ..

hg init repo2
cd repo2
echo b > a
echo d > d
hg ci -Am addaandd
CHILDID1=`hg id --debug -i`
echo d >> d
hg ci -Am changed
CHILDID2=`hg id --debug -i`
echo e > e
hg ci -Am adde
cd ..

echo '% test invalid splicemap'
cat > splicemap <<EOF
$CHILDID2
EOF
hg convert --splicemap splicemap repo2 repo1

echo '% splice repo2 on repo1'
cat > splicemap <<EOF
$CHILDID1 $PARENTID1
$CHILDID2 $PARENTID2,$CHILDID1
EOF
hg clone repo1 target1
hg convert --splicemap splicemap repo2 target1
glog -R target1