Mercurial > hg
view tests/test-rebase-mq @ 12403:ba8850911703
test-serve: fix test for binding to low named port on solaris
Solaris do not know the service called http, so we use echo instead.
Trying to define KILLQUIETLY when running the hgserve function didn't set the
value within the function. Now we set the variable before calling the function.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sat, 25 Sep 2010 02:35:32 +0200 |
parents | 92342fa9fbd8 |
children |
line wrap: on
line source
#!/bin/sh . $TESTDIR/helpers.sh echo "[extensions]" >> $HGRCPATH echo "graphlog=" >> $HGRCPATH echo "rebase=" >> $HGRCPATH echo "mq=" >> $HGRCPATH echo "[mq]" >> $HGRCPATH echo "plain=true" >> $HGRCPATH 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 /" \ -e "s/^\(diff -r \)\([a-f0-9]* \)/\1x /" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" } hg init a cd a hg qinit -c # This must work even with a managed mq queue echo 'c1' > f hg add f hg commit -d '0 0' -m "C1" echo 'r1' > f hg commit -d '2 0' -m "R1" 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 echo '% Rebase - same thing, but mq patch is default dest' hg update -q 1 hg rebase hg update -q qtip echo echo '% Rebase - generate a conflict' hg rebase -s 2 -d 1 echo echo '% Fix the 1st conflict' echo 'mq1r1' > f hg resolve -m f hg rebase -c | hidebackup echo echo '% Fix the 2nd conflict' echo 'mq1r1mq2' > f hg resolve -m f hg rebase -c | hidebackup 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' cat .hg/patches/f.patch | filterpatch echo echo '% Update to qtip' hg up qtip echo '% f correctly reflects the merge result' cat f echo '% And the patch is correct' cat .hg/patches/f2.patch | filterpatch 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' hg qcommit -m 'save patch state' echo '% patch series step 1/2' hg qseries -s echo '% patch queue manifest step 1/2' hg -R .hg/patches manifest 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' hg rebase -s 2 -d 1 --quiet hg qcommit -m 'save patch state' echo '% patch series step 2/2' hg qseries -s echo '% patch queue manifest step 2/2' hg -R .hg/patches manifest 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