--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-rebase-collapse Mon Aug 18 21:16:31 2008 +0200
@@ -0,0 +1,90 @@
+#!/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