mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
77 lines
1.3 KiB
Bash
Executable File
77 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# This emulates the effects of an hg pull --rebase in which the remote repo
|
|
# already has one local mq patch
|
|
|
|
. $TESTDIR/helpers.sh
|
|
|
|
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
|
|
hg commit -d '0 0' -m "C1"
|
|
|
|
echo 'r1' > r1
|
|
hg add r1
|
|
hg commit -d '1 0' -m "R1"
|
|
|
|
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
|
|
hg rebase | hidebackup
|
|
hg glog --template '{rev} {desc} tags: {tags}\n'
|
|
|
|
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'
|