tests/test-convert-splicemap
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Mon, 31 May 2010 17:13:15 +0900
branchstable
changeset 11237 feb2a58fc592
parent 10119 bb5ea66789e3
permissions -rwxr-xr-x
record: check that we are not committing a merge before patch selection It might sound like a good idea to use record to filter changes when merging. If someone attemps this, it's better to tell her "no" right ahead, before the patch generation/line selection, so she does not spend time doing it just to receive a red light after that (sometimes rather long) process.

#!/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