view tests/test-rebase-interruptions @ 10092:f1bf64abcb1b stable

doc/Makefile: Fix rst2html detection Displaying the output from the failing call to "which" didn't prevent make from doing stupid things later. We now only search for "rst2html" and fallback to "rst2html.py". If neither name is found, make will eventually abort when we try to use $(RST2HTML).
author Mads Kiilerich <mads@kiilerich.com>
date Wed, 16 Dec 2009 23:59:50 +0100
parents 8766fee6f225
children b345b1cc124f
line wrap: on
line source

#!/bin/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 2>&1 | sed 's/\(saving bundle to \).*/\1/'

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 2>&1 | sed 's/\(saving bundle to \).*/\1/'

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