sapling/tests/test-rebase-collapse

181 lines
2.9 KiB
Plaintext
Raw Normal View History

2008-08-18 23:16:31 +04:00
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH
BASE=`pwd`
2008-08-20 05:07:26 +04:00
addcommit () {
2008-08-18 23:16:31 +04:00
echo $1 > $1
hg add $1
hg commit -d "${2} 0" -m $1
2008-08-18 23:16:31 +04:00
}
2008-08-20 05:07:26 +04:00
commit () {
hg commit -d "${2} 0" -m $1
2008-08-18 23:16:31 +04:00
}
2008-08-20 05:07:26 +04:00
createrepo () {
2008-08-18 23:16:31 +04:00
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 B onto H'
2008-08-18 23:16:31 +04:00
hg up -C 3
hg rebase --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev}: {desc}\n'
echo "Expected A, B, C, D, F, H"
hg manifest
2008-08-18 23:16:31 +04:00
createrepo > /dev/null 2>&1
echo
echo '% Rebasing G onto H'
2008-08-18 23:16:31 +04:00
hg rebase --base 6 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev}: {desc}\n'
echo "Expected A, E, F, H"
hg manifest
2008-08-18 23:16:31 +04:00
2008-08-20 05:07:26 +04:00
createrepocomplex () {
2008-08-18 23:16:31 +04:00
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
}
echo
2008-08-18 23:16:31 +04:00
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 - E onto H'
2008-08-18 23:16:31 +04:00
hg rebase -s 4 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev}: {desc}\n'
echo "Expected A, B, C, E, F, H"
hg manifest
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
echo "F" > E
commit "F" 5
addcommit "G" 6
hg merge
commit "H" 7
hg up 0
addcommit "I" 8
}
echo
createrepocomplex > /dev/null 2>&1
hg glog --template '{rev}: {desc}\n'
echo
echo '% Rebase and collapse - E onto I'
hg rebase -s 4 --collapse
echo '% Fix conflict and continue'
echo 'Resolved merge' > E
hg resolve -m E
hg rebase -c 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev}: {desc}\n'
echo "Expected A, B, C, E, G, I"
hg manifest
echo 'Cat E:'
cat E
createrepocomplex () {
cd $BASE
rm -rf a
hg init a
cd a
addcommit "A" 0
addcommit "B" 1
addcommit "C" 2
hg up 1
addcommit "D" 3
hg merge
commit "E" 4
hg up 0
addcommit "F" 5
}
echo
createrepocomplex > /dev/null 2>&1
hg glog --template '{rev}: {desc}\n'
echo
echo '% Rebase and collapse - B onto F'
hg rebase -s 1 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/'
2008-08-18 23:16:31 +04:00
hg glog --template '{rev}: {desc}\n'
echo "Expected A, B, C, D, F"
hg manifest
2008-08-18 23:16:31 +04:00
exit 0