|
|
#!/bin/sh
|
|
|
|
|
|
createrepo() {
|
|
|
rm -rf repo
|
|
|
hg init repo
|
|
|
cd repo
|
|
|
|
|
|
echo "a" > a
|
|
|
hg commit -d '0 0' -A -m 'A'
|
|
|
|
|
|
hg branch branch1
|
|
|
hg commit -d '1 0' -m 'Branch1'
|
|
|
|
|
|
echo "b" > b
|
|
|
hg commit -A -d '2 0' -m 'B'
|
|
|
|
|
|
hg up 0
|
|
|
hg branch branch2
|
|
|
hg commit -d '3 0' -m 'Branch2'
|
|
|
|
|
|
echo "c" > C
|
|
|
hg commit -A -d '4 0' -m 'C'
|
|
|
|
|
|
hg up 2
|
|
|
hg branch -f branch2
|
|
|
echo "d" > d
|
|
|
hg commit -A -d '5 0' -m 'D'
|
|
|
|
|
|
echo "e" > e
|
|
|
hg commit -A -d '6 0' -m 'E'
|
|
|
|
|
|
hg update default
|
|
|
|
|
|
hg branch branch3
|
|
|
hg commit -d '7 0' -m 'Branch3'
|
|
|
|
|
|
echo "f" > f
|
|
|
hg commit -A -d '8 0' -m 'F'
|
|
|
}
|
|
|
|
|
|
echo
|
|
|
createrepo > /dev/null 2>&1
|
|
|
hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
|
|
|
echo
|
|
|
echo '% Branches'
|
|
|
hg branches
|
|
|
|
|
|
echo
|
|
|
echo '% Heads'
|
|
|
hg heads --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
|
|
|
echo
|
|
|
echo '% Rebase part of branch2 (5-6) onto branch3 (8)'
|
|
|
hg --config extensions.hgext.rebase= rebase --detach -s 5 -d 8 2>&1 | sed 's/\(saving bundle to \).*/\1/'
|
|
|
|
|
|
echo
|
|
|
echo '% Branches'
|
|
|
hg branches
|
|
|
|
|
|
echo
|
|
|
echo '% Heads'
|
|
|
hg heads --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
|
|
|
echo
|
|
|
hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
|
|
|
echo
|
|
|
echo '% Rebase head of branch3 (8) onto branch2 (6)'
|
|
|
createrepo > /dev/null 2>&1
|
|
|
hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
|
|
|
hg --config extensions.hgext.rebase= rebase --detach -s 8 -d 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
|
|
|
|
|
|
echo
|
|
|
echo '% Branches'
|
|
|
hg branches
|
|
|
|
|
|
echo
|
|
|
echo '% Heads'
|
|
|
hg heads --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
|
|
|
echo
|
|
|
hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
hg verify -q
|
|
|
|
|
|
echo
|
|
|
echo '% Rebase entire branch3 (7-8) onto branch2 (6)'
|
|
|
createrepo > /dev/null 2>&1
|
|
|
hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
|
|
|
hg --config extensions.hgext.rebase= rebase --detach -s 7 -d 6 2>&1 | sed 's/\(saving bundle to \).*/\1/'
|
|
|
|
|
|
echo
|
|
|
echo '% Branches'
|
|
|
hg branches
|
|
|
|
|
|
echo
|
|
|
echo '% Heads'
|
|
|
hg heads --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
|
|
|
echo
|
|
|
hg --config extensions.hgext.graphlog= glog --template '{rev}:{node|short} {desc} branch: {branches}\n'
|
|
|
hg verify -q
|
|
|
|