test-rebase-collapse
180 lines
| 2.9 KiB
| text/plain
|
TextLexer
/ tests / test-rebase-collapse
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 | ||||
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' | ||||
Stefano Tortarolo
|
r7278 | echo '% Rebasing B onto H' | ||
Stefano Tortarolo
|
r6906 | hg up -C 3 | ||
hg rebase --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||||
hg glog --template '{rev}: {desc}\n' | ||||
Stefano Tortarolo
|
r7278 | echo "Expected A, B, C, D, F, H" | ||
hg manifest | ||||
Stefano Tortarolo
|
r6906 | |||
createrepo > /dev/null 2>&1 | ||||
Stefano Tortarolo
|
r7278 | echo | ||
echo '% Rebasing G onto H' | ||||
Stefano Tortarolo
|
r6906 | hg rebase --base 6 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||
hg glog --template '{rev}: {desc}\n' | ||||
Stefano Tortarolo
|
r7278 | echo "Expected A, E, F, H" | ||
hg manifest | ||||
Stefano Tortarolo
|
r6906 | |||
Brendan Cully
|
r6910 | createrepocomplex () { | ||
Stefano Tortarolo
|
r6906 | 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 | ||||
} | ||||
Stefano Tortarolo
|
r7278 | echo | ||
Stefano Tortarolo
|
r6906 | 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 | ||||
Stefano Tortarolo
|
r7278 | echo '% Rebase and collapse - E onto H' | ||
Stefano Tortarolo
|
r6906 | hg rebase -s 4 --collapse 2>&1 | sed 's/\(saving bundle to \).*/\1/' | ||
hg glog --template '{rev}: {desc}\n' | ||||
Stefano Tortarolo
|
r7278 | echo "Expected A, B, C, E, F, H" | ||
hg manifest | ||||
Stefano Tortarolo
|
r6906 | |||
Stefano Tortarolo
|
r7278 | 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/' | ||||
hg glog --template '{rev}: {desc}\n' | ||||
echo "Expected A, B, C, D, F" | ||||
hg manifest | ||||
Stefano Tortarolo
|
r6906 | exit 0 | ||