Mercurial > public > mercurial-scm > hg
diff tests/test-rebase-interruptions @ 6906:808f03f61ebe
Add rebase extension
author | Stefano Tortarolo <stefano.tortarolo@gmail.com> |
---|---|
date | Mon, 18 Aug 2008 21:16:31 +0200 |
parents | |
children | 93609576244e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-rebase-interruptions Mon Aug 18 21:16:31 2008 +0200 @@ -0,0 +1,81 @@ +#!/bin/sh + +echo "[extensions]" >> $HGRCPATH +echo "graphlog=" >> $HGRCPATH +echo "rebase=" >> $HGRCPATH + +BASE=`pwd` + +function addcommit { + echo $1 > $1 + hg add $1 + hg commit -d "${2} 0" -u test -m $1 +} +function commit { + hg commit -d "${2} 0" -u test -m $1 +} + +function 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