view tests/test-rebase-interruptions @ 12403:ba8850911703

test-serve: fix test for binding to low named port on solaris Solaris do not know the service called http, so we use echo instead. Trying to define KILLQUIETLY when running the hgserve function didn't set the value within the function. Now we set the variable before calling the function.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 25 Sep 2010 02:35:32 +0200
parents 2313dc4d9817
children
line wrap: on
line source

#!/bin/sh

. $TESTDIR/helpers.sh
echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH

BASE=`pwd`

addcommit () {
    echo $1 > $1
    hg add $1
    hg commit -d "${2} 0" -m $1
}

commit () {
    hg commit -d "${2} 0" -m $1
}

createrepo () {
    cd $BASE
    rm -rf a
    hg init a
    cd a
    addcommit "A" 0
    addcommit "B" 1
    echo "C" >> A
    commit "C" 2

    hg update -C 0
    echo "D" >> A
    commit "D" 3
    addcommit "E" 4
}

echo "% Changes during an interruption - continue"
createrepo > /dev/null 2>&1
hg glog  --template '{rev}: {desc}\n'

echo
echo "% - Rebasing B onto E"
hg rebase -s 1 -d 4 | hidebackup

echo
echo "% - Force a commit on C during the interruption"
hg update -C 2
addcommit "Extra" 5
hg glog  --template '{rev}: {desc}\n'

echo
echo "% - Resume the rebasing"
hg rebase --continue

echo
echo "% - Solve the conflict and go on"
echo 'conflict solved' > A
rm A.orig
hg resolve -m A
hg rebase --continue
hg glog  --template '{rev}: {desc}\n'

echo
echo
echo "% Changes during an interruption - abort"
createrepo > /dev/null 2>&1
hg glog  --template '{rev}: {desc}\n'

echo
echo "% Rebasing B onto E"
hg rebase -s 1 -d 4 | hidebackup

echo
echo "% Force a commit on B' during the interruption"
hg update -C 5
addcommit "Extra" 6
hg glog  --template '{rev}: {desc}\n'

echo
echo "% Abort the rebasing"
hg rebase --abort
hg glog  --template '{rev}: {desc}\n'

exit 0