view tests/test-rebase-conflicts @ 11335:3201ff1459dd

dagparser: parses and formats DAGs as concise text As discussed during the sprint. See the doc comment and doctests for specification and examples. This is used in subsequent patches to export revlog and changelog DAGs, and to generate a repo with a given changelog DAG.
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
date Thu, 10 Jun 2010 11:48:15 +0200
parents 2313dc4d9817
children
line wrap: on
line source

#!/bin/sh

. $TESTDIR/helpers.sh

echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH

hg init a
cd a
echo 'c1' >common
hg add common
hg commit -d '0 0' -m "C1"

echo 'c2' >>common
hg commit -d '1 0' -m "C2"

echo 'c3' >>common
hg commit -d '2 0' -m "C3"

hg update -C 1
echo 'l1' >>extra
hg add extra
hg commit -d '3 0' -m "L1"

sed -e 's/c2/l2/' common > common.new
mv common.new common
hg commit -d '4 0' -m "L2"

echo 'l3' >> extra2
hg add extra2
hg commit -d '5 0' -m "L3"

hg glog  --template '{rev}: {desc}\n'

echo
echo '% Try to call --continue'
hg rebase --continue

echo
echo '% Conflicting rebase'
hg rebase -s 3 -d 2

echo
echo '% Try to continue without solving the conflict'
hg rebase --continue 

echo
echo '% Conclude rebase'
echo 'resolved merge' >common
hg resolve -m common
hg rebase --continue | cleanrebase

hg glog  --template '{rev}: {desc}\n'

echo
echo '% Check correctness'
echo '  - Rev. 0'
hg cat -r 0 common

echo '  - Rev. 1'
hg cat -r 1 common

echo '  - Rev. 2'
hg cat -r 2 common

echo '  - Rev. 3'
hg cat -r 3 common

echo '  - Rev. 4'
hg cat -r 4 common

echo '  - Rev. 5'
hg cat -r 5 common