test-rebase-scenario-global
82 lines
| 1.9 KiB
| text/plain
|
TextLexer
/ tests / test-rebase-scenario-global
Stefano Tortarolo
|
r6906 | #!/bin/sh | ||
echo "[extensions]" >> $HGRCPATH | ||||
echo "graphlog=" >> $HGRCPATH | ||||
echo "rebase=" >> $HGRCPATH | ||||
BASE=`pwd` | ||||
Brendan Cully
|
r6910 | addcommit () { | ||
Stefano Tortarolo
|
r6906 | echo $1 > $1 | ||
hg add $1 | ||||
hg commit -d "${2} 0" -u test -m $1 | ||||
} | ||||
Brendan Cully
|
r6910 | |||
commit () { | ||||
Stefano Tortarolo
|
r6906 | hg commit -d "${2} 0" -u test -m $1 | ||
} | ||||
Brendan Cully
|
r6910 | createrepo () { | ||
Stefano Tortarolo
|
r6906 | cd $BASE | ||
rm -rf a | ||||
hg init a | ||||
cd a | ||||
addcommit "A" 0 | ||||
addcommit "B" 1 | ||||
hg update -C 0 | ||||
addcommit "C" 2 | ||||
hg update -C 0 | ||||
addcommit "D" 3 | ||||
hg merge -r 2 | ||||
commit "E" 4 | ||||
hg update -C 3 | ||||
addcommit "F" 5 | ||||
} | ||||
createrepo > /dev/null 2>&1 | ||||
hg glog --template '{rev}: {desc}\n' | ||||
echo '% Rebasing' | ||||
echo '% B onto F - simple rebase' | ||||
hg rebase -s 1 -d 5 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||||
hg glog --template '{rev}: {desc}\n' | ||||
createrepo > /dev/null 2>&1 | ||||
echo '% B onto D - intermediate point' | ||||
hg rebase -s 1 -d 3 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||||
hg glog --template '{rev}: {desc}\n' | ||||
createrepo > /dev/null 2>&1 | ||||
echo '% C onto F - skip of E' | ||||
hg rebase -s 2 -d 5 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||||
hg glog --template '{rev}: {desc}\n' | ||||
createrepo > /dev/null 2>&1 | ||||
echo '% D onto C - rebase of a branching point (skip E)' | ||||
hg rebase -s 3 -d 2 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||||
hg glog --template '{rev}: {desc}\n' | ||||
createrepo > /dev/null 2>&1 | ||||
echo '% E onto F - merged revision having a parent in ancestors of target' | ||||
hg rebase -s 4 -d 5 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||||
hg glog --template '{rev}: {desc}\n' | ||||
createrepo > /dev/null 2>&1 | ||||
echo '% D onto B - E maintains C as parent' | ||||
hg rebase -s 3 -d 1 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||||
hg glog --template '{rev}: {desc}\n' | ||||
echo '% These will fail' | ||||
createrepo > /dev/null 2>&1 | ||||
echo '% E onto D - rebase onto an ancestor' | ||||
hg rebase -s 4 -d 3 | ||||
echo '% D onto E - rebase onto a descendant' | ||||
hg rebase -s 3 -d 4 | ||||
echo '% E onto B - merge revision with both parents not in ancestors of target' | ||||
hg rebase -s 4 -d 1 | ||||
exit 0 | ||||