2008-08-18 23:16:31 +04:00
|
|
|
#!/bin/sh
|
|
|
|
# This emulates the effects of an hg pull --rebase in which the remote repo
|
|
|
|
# already has one local mq patch
|
|
|
|
|
2010-05-21 15:55:18 +04:00
|
|
|
. $TESTDIR/helpers.sh
|
2010-05-20 05:20:12 +04:00
|
|
|
|
2008-08-18 23:16:31 +04:00
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
|
|
echo "graphlog=" >> $HGRCPATH
|
|
|
|
echo "rebase=" >> $HGRCPATH
|
|
|
|
echo "mq=" >> $HGRCPATH
|
|
|
|
|
|
|
|
hg init a
|
|
|
|
cd a
|
|
|
|
hg qinit -c # This must work even with a managed mq queue
|
|
|
|
|
|
|
|
echo 'c1' > c1
|
|
|
|
hg add c1
|
2009-04-26 16:49:49 +04:00
|
|
|
hg commit -d '0 0' -m "C1"
|
2008-08-18 23:16:31 +04:00
|
|
|
|
|
|
|
echo 'r1' > r1
|
|
|
|
hg add r1
|
2009-04-26 16:49:49 +04:00
|
|
|
hg commit -d '1 0' -m "R1"
|
2008-08-18 23:16:31 +04:00
|
|
|
|
|
|
|
hg up 0
|
|
|
|
hg qnew p0.patch
|
|
|
|
echo 'p0' > p0
|
|
|
|
hg add p0
|
|
|
|
hg qref -m 'P0'
|
|
|
|
|
|
|
|
hg qnew p1.patch
|
|
|
|
echo 'p1' > p1
|
|
|
|
hg add p1
|
|
|
|
hg qref -m 'P1'
|
|
|
|
hg export qtip > p1.patch
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo '% "Mainstream" import p1.patch'
|
|
|
|
hg up -C 1
|
|
|
|
hg import p1.patch
|
|
|
|
rm p1.patch
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo '% Rebase'
|
|
|
|
hg up -C qtip
|
2010-05-20 05:20:12 +04:00
|
|
|
hg rebase | hidebackup
|
2008-08-18 23:16:31 +04:00
|
|
|
hg glog --template '{rev} {desc} tags: {tags}\n'
|
2010-08-13 20:02:02 +04:00
|
|
|
|
|
|
|
echo
|
|
|
|
echo '% Now with --continue'
|
|
|
|
cd ..
|
|
|
|
hg init b
|
|
|
|
cd b
|
|
|
|
hg qinit -c # This must work even with a managed mq queue
|
|
|
|
|
|
|
|
for i in r0 r1 r2 r3 r4 r5 r6;
|
|
|
|
do
|
|
|
|
echo $i > $i
|
|
|
|
hg ci -Am $i
|
|
|
|
done
|
|
|
|
hg qimport -r 1:tip
|
|
|
|
hg up 0
|
|
|
|
for i in r1 r3 r7 r8;
|
|
|
|
do
|
|
|
|
echo $i > $i
|
|
|
|
hg ci -Am branch2-$i
|
|
|
|
done
|
|
|
|
echo somethingelse > r4
|
|
|
|
hg ci -Am branch2-r4
|
|
|
|
echo r6 > r6
|
|
|
|
hg ci -Am branch2-r6
|
|
|
|
|
|
|
|
hg up qtip
|
|
|
|
HGMERGE=internal:fail hg rebase | hidebackup
|
|
|
|
HGMERGE=internal:local hg resolve --all
|
|
|
|
hg rebase --continue | hidebackup
|
|
|
|
hg glog --template '{rev} {desc} tags: {tags}\n'
|