##// END OF EJS Templates
rebase: re-add patches to mq repo after rebase...
rebase: re-add patches to mq repo after rebase Since 1b82a26635d7, we are adding patches after the qimport call, and not inside it anymore. Correct updatemq to match the new behaviour.

File last commit:

r11208:2313dc4d default
r11531:59bd2045 stable
Show More
test-rebase-mq
123 lines | 2.3 KiB | text/plain | TextLexer
Stefano Tortarolo
Add rebase extension
r6906 #!/bin/sh
Yuya Nishihara
tests: fix bashism to load helpers.sh...
r11208 . $TESTDIR/helpers.sh
Matt Mackall
rebase: use helpers.sh in tests
r11198
Stefano Tortarolo
Add rebase extension
r6906 echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
Steve Losh
mq: add parent node IDs to MQ patches on qrefresh/qnew...
r10397 echo "[mq]" >> $HGRCPATH
echo "plain=true" >> $HGRCPATH
Patrick Mezard
test-rebase-mq: '|' is a GNU sed extension, unfold it
r6931 filterpatch()
{
sed -e "s/^\(# Date\).*/\1/" \
-e "s/^\(# Node ID\).*/\1/" \
-e "s/^\(# Parent\).*/\1/" \
-e "s/^\(diff -r \)\([a-f0-9]* \)\(-r \)\([a-f0-9]* \)/\1x \3y /" \
Stefano Tortarolo
rebase: keep original mq patch format (Issue1574)...
r7955 -e "s/^\(diff -r \)\([a-f0-9]* \)/\1x /" \
Patrick Mezard
test-rebase-mq: '|' is a GNU sed extension, unfold it
r6931 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/"
}
Stefano Tortarolo
Add rebase extension
r6906 hg init a
cd a
hg qinit -c # This must work even with a managed mq queue
echo 'c1' > f
hg add f
Martin Geisler
tests: removed redundant "-u test" from test scripts...
r8168 hg commit -d '0 0' -m "C1"
Stefano Tortarolo
Add rebase extension
r6906
echo 'r1' > f
Martin Geisler
tests: removed redundant "-u test" from test scripts...
r8168 hg commit -d '2 0' -m "R1"
Stefano Tortarolo
Add rebase extension
r6906
hg up 0
hg qnew f.patch
echo 'mq1' > f
hg qref -m 'P0'
hg qnew f2.patch
echo 'mq2' > f
hg qref -m 'P1'
hg glog --template '{rev} {desc} tags: {tags}\n'
echo
echo '% Rebase - try to rebase on an applied mq patch'
hg rebase -s 1 -d 3
echo
Greg Ward
rebase: always check if rebasing onto an applied mq patch....
r10672 echo '% Rebase - same thing, but mq patch is default dest'
hg update -q 1
hg rebase
hg update -q qtip
echo
Stefano Tortarolo
Add rebase extension
r6906 echo '% Rebase - generate a conflict'
hg rebase -s 2 -d 1
echo
echo '% Fix the 1st conflict'
echo 'mq1r1' > f
hg resolve -m f
Matt Mackall
rebase: use helpers.sh in tests
r11198 hg rebase -c | hidebackup
Stefano Tortarolo
Add rebase extension
r6906
echo
echo '% Fix the 2nd conflict'
echo 'mq1r1mq2' > f
hg resolve -m f
Matt Mackall
rebase: use helpers.sh in tests
r11198 hg rebase -c | hidebackup
Stefano Tortarolo
Add rebase extension
r6906
hg glog --template '{rev} {desc} tags: {tags}\n'
echo
echo '% Update to qbase'
hg up qbase
echo '% f correctly reflects the merge result'
cat f
echo '% And the patch is correct'
Patrick Mezard
test-rebase-mq: '|' is a GNU sed extension, unfold it
r6931 cat .hg/patches/f.patch | filterpatch
Stefano Tortarolo
Add rebase extension
r6906
echo
echo '% Update to qtip'
hg up qtip
echo '% f correctly reflects the merge result'
cat f
echo '% And the patch is correct'
Patrick Mezard
test-rebase-mq: '|' is a GNU sed extension, unfold it
r6931 cat .hg/patches/f2.patch | filterpatch
Stefano Tortarolo
rebase: keep original mq patch format (Issue1574)...
r7955 echo
echo '% Adding one git-style patch and one normal'
hg qpop -a
rm -fr .hg/patches
hg qinit -c
hg up 0
hg qnew --git f_git.patch
echo 'mq1' > p
hg add p
hg qref --git -m 'P0 (git)'
hg qnew f.patch
echo 'mq2' > p
hg qref -m 'P1'
echo '% Git patch'
cat .hg/patches/f_git.patch | filterpatch
echo
echo '% Normal patch'
cat .hg/patches/f.patch | filterpatch
echo
echo '% Rebase the applied mq patches'
Matt Mackall
rebase: use helpers.sh in tests
r11198 hg rebase -s 2 -d 1 --quiet
Stefano Tortarolo
rebase: keep original mq patch format (Issue1574)...
r7955
echo '% And the patches are correct'
echo '% Git patch'
cat .hg/patches/f_git.patch | filterpatch
echo
echo '% Normal patch'
cat .hg/patches/f.patch | filterpatch