#!/bin/sh echo "[extensions]" >> $HGRCPATH echo "mq=" >> $HGRCPATH echo % help hg help mq hg init a cd a echo a > a hg ci -Ama hg clone . ../k mkdir b echo z > b/z hg ci -Ama echo % qinit hg qinit cd .. hg init b echo % -R qinit hg -R b qinit hg init c echo % qinit -c hg --cwd c qinit -c hg -R c/.hg/patches st echo % qnew implies add hg -R c qnew test.patch hg -R c/.hg/patches st cd a echo % qnew -m hg qnew -m 'foo bar' test.patch cat .hg/patches/test.patch echo % qrefresh echo a >> a hg qrefresh sed -e "s/^\(diff -r \)\([a-f0-9]* \)/\1 x/" \ -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" .hg/patches/test.patch echo % qpop hg qpop echo % qpush hg qpush cd .. echo % pop/push outside repo hg -R a qpop hg -R a qpush cd a hg qnew test2.patch echo % qrefresh in subdir cd b echo a > a hg add a hg qrefresh echo % pop/push -a in subdir hg qpop -a hg --traceback qpush -a echo % qseries hg qseries echo % qapplied hg qapplied echo % qtop hg qtop echo % qprev hg qprev echo % qnext hg qnext echo % pop, qnext, qprev, qapplied hg qpop hg qnext hg qprev hg qapplied echo % commit should fail hg commit echo % push should fail hg push ../../k echo % qunapplied hg qunapplied echo % qpush/qpop with index hg qnew test1b.patch echo 1b > 1b hg add 1b hg qrefresh hg qpush 2 hg qpop 0 hg qpush test.patch+1 hg qpush test.patch+2 hg qpop test2.patch-1 hg qpop test2.patch-2 hg qpush test1b.patch+1 echo % push should succeed hg qpop -a hg push ../../k echo % strip cd ../../b echo x>x hg ci -Ama hg strip tip 2>&1 | sed 's/\(saving bundle to \).*/\1/' hg unbundle .hg/strip-backup/* echo '% cd b; hg qrefresh' hg init refresh cd refresh echo a > a hg ci -Ama -d'0 0' hg qnew -mfoo foo echo a >> a hg qrefresh mkdir b cd b echo f > f hg add f hg qrefresh sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" ../.hg/patches/foo echo % hg qrefresh . hg qrefresh . sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" ../.hg/patches/foo hg status echo % qpush failure cd .. hg qrefresh hg qnew -mbar bar echo foo > foo hg add foo hg qrefresh hg qpop -a echo bar > foo hg qpush -a cat >>$HGRCPATH < new chmod +x new hg add new hg qrefresh sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" .hg/patches/new hg qnew -m'copy file' copy hg cp new copy hg qrefresh sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" .hg/patches/copy hg qpop hg qpush hg qdiff