#!/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 addcommit "C" 2 addcommit "D" 3 hg update -C 0 addcommit "E" 4 hg update -C 0 addcommit "F" 5 hg merge -r 4 commit "G" 6 hg update -C 5 addcommit "H" 7 } createrepo > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo '% Rebasing' hg up -C 3 hg rebase --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' createrepo > /dev/null 2>&1 echo '% Rebasing' hg rebase --base 6 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' function createrepocomplex { cd $BASE rm -rf a hg init a cd a addcommit "A" 0 addcommit "B" 1 hg up 0 addcommit "C" 2 hg merge commit "D" 3 hg up 1 addcommit "E" 4 addcommit "F" 5 hg merge commit "G" 6 hg up 0 addcommit "H" 7 } createrepocomplex > /dev/null 2>&1 hg glog --template '{rev}: {desc}\n' echo echo '% Rebase and collapse - more than one external (fail)' hg rebase -s 2 --collapse echo echo '% Rebase and collapse' hg rebase -s 4 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg glog --template '{rev}: {desc}\n' exit 0