Mercurial > hg
view tests/test-rebase-mq @ 9469:7f0f882af23d
config: abort on indented non-continuation lines (issue1829)
Previously, as soon as a continuation would be met, "cont" would stay
forever set to True, but "item" was set back to "None".
This caused the continuation code bits to run every time, until the next
"self.get(section, item) + '\n'" which would crash.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Sat, 12 Sep 2009 11:17:07 +0200 |
parents | 8766fee6f225 |
children | 8cb81d75730c |
line wrap: on
line source
#!/bin/sh echo "[extensions]" >> $HGRCPATH echo "graphlog=" >> $HGRCPATH echo "rebase=" >> $HGRCPATH echo "mq=" >> $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 - 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 2>&1 | sed -e 's/\(saving bundle to \).*/\1/' echo echo '% Fix the 2nd conflict' echo 'mq1r1mq2' > f hg resolve -m f hg rebase -c 2>&1 | sed -e 's/\(saving bundle to \).*/\1/' 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' 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 2>&1 | sed -e 's/\(saving bundle to \).*/\1/' 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