test-rebase-interruptions
83 lines
| 1.4 KiB
| text/plain
|
TextLexer
/ tests / test-rebase-interruptions
Stefano Tortarolo
|
r6906 | #!/bin/sh | ||
Yuya Nishihara
|
r11208 | . $TESTDIR/helpers.sh | ||
Stefano Tortarolo
|
r6906 | echo "[extensions]" >> $HGRCPATH | ||
echo "graphlog=" >> $HGRCPATH | ||||
echo "rebase=" >> $HGRCPATH | ||||
BASE=`pwd` | ||||
Brendan Cully
|
r6910 | addcommit () { | ||
Stefano Tortarolo
|
r6906 | echo $1 > $1 | ||
hg add $1 | ||||
Martin Geisler
|
r8168 | hg commit -d "${2} 0" -m $1 | ||
Stefano Tortarolo
|
r6906 | } | ||
Brendan Cully
|
r6910 | |||
commit () { | ||||
Martin Geisler
|
r8168 | hg commit -d "${2} 0" -m $1 | ||
Stefano Tortarolo
|
r6906 | } | ||
Brendan Cully
|
r6910 | createrepo () { | ||
Stefano Tortarolo
|
r6906 | 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" | ||||
Matt Mackall
|
r11198 | hg rebase -s 1 -d 4 | hidebackup | ||
Stefano Tortarolo
|
r6906 | |||
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" | ||||
Matt Mackall
|
r11198 | hg rebase -s 1 -d 4 | hidebackup | ||
Stefano Tortarolo
|
r6906 | |||
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 | ||||