Mercurial > hg
view tests/test-rebase-interruptions @ 11999:62e2bbf523f2
revlog: generate full revisions when parent node is missing
The full revision is sent if the first parent, against which diff is calculated, is
missing at remote. This happens in the case of shallow clones.
author | Vishakh H <vsh426@gmail.com> |
---|---|
date | Fri, 13 Aug 2010 19:41:51 +0530 |
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