#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH
addcommit () {
echo $1 > $1
hg add $1
hg commit -d "${2} 0" -u test -m $1
}
commit () {
hg commit -d "${2} 0" -u test -m $1
}
createrepo () {
hg init a
cd a
addcommit "c1" 0
addcommit "c2" 1
addcommit "c3" 2
hg update -C 1
addcommit "l1" 3
addcommit "l2" 4
addcommit "l3" 5
hg update -C 2
addcommit "r1" 6
addcommit "r2" 7
}
createrepo > /dev/null 2>&1
echo "% These fail"
echo
echo "% Use continue and abort"
hg rebase --continue --abort
echo
echo "% Use continue and collapse"
hg rebase --continue --collapse
echo
echo "% Use continue/abort and dest/source"
hg rebase --continue --dest 4
echo
echo "% Use source and base"
hg rebase --base 5 --source 4
echo
echo "% Rebase with no arguments - from current"
hg rebase
echo
echo "% Rebase with no arguments - from the current branch"
hg update 6
hg rebase
echo "% ----------"
echo "% These work"
echo
echo "% Rebase with no arguments (from 3 onto 7)"
hg update -C 5
hg rebase 2>&1 | sed 's/\(saving bundle to \).*/\1/'
createrepo > /dev/null 2>&1
echo
echo "% Rebase with base == '.' => same as no arguments (from 3 onto 7)"
hg update -C 5
hg rebase --base . 2>&1 | sed 's/\(saving bundle to \).*/\1/'
createrepo > /dev/null 2>&1
echo
echo "% Rebase with dest == `hg branch` => same as no arguments (from 3 onto 7)"
hg update -C 5
hg rebase --dest `hg branch` 2>&1 | sed 's/\(saving bundle to \).*/\1/'
createrepo > /dev/null 2>&1
echo
echo "% Specify only source (from 4 onto 7)"
hg rebase --source 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
createrepo > /dev/null 2>&1
echo
echo "% Specify only dest (from 3 onto 6)"
hg update -C 5
hg rebase --dest 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
createrepo > /dev/null 2>&1
echo
echo "% Specify only base (from 3 onto 7)"
hg rebase --base 5 2>&1 | sed 's/\(saving bundle to \).*/\1/'
createrepo > /dev/null 2>&1
echo
echo "% Specify source and dest (from 4 onto 6)"
hg rebase --source 4 --dest 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
createrepo > /dev/null 2>&1
echo
echo "% Specify base and dest (from 3 onto 6)"
hg rebase --base 4 --dest 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
exit 0