##// END OF EJS Templates
templatefilters: add filter to convert date to local date (issue1674)...
templatefilters: add filter to convert date to local date (issue1674) Issue1674 suggests the localdate filter be applied as default to log, but this patch only introduces the filter, not the changed default behaviour.

File last commit:

r8168:8766fee6 default
r8591:08c93b07 default
Show More
test-rebase-mq
112 lines | 2.2 KiB | text/plain | TextLexer
#!/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