tests/test-rebase-parameters
author Greg Ward <greg-hg@gerg.ca>
Tue, 09 Mar 2010 21:53:16 -0500
branchstable
changeset 10646 86dc21148bdb
parent 8168 8766fee6f225
child 11198 b345b1cc124f
permissions -rwxr-xr-x
rebase: improve help text - add a paragraph about default dest/source changesets - option help: say "changeset" not "revision" - option help: explain -b/--base better - clarify that -a/--abort and -c/--continue are different from the other options

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH

addcommit () {
    echo $1 > $1
    hg add $1
    hg commit -d "${2} 0" -m $1
}

commit () {
    hg commit -d "${2} 0" -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/'

echo "% Try to rollback after a rebase (fail)"
hg rollback

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