#!/bin/sh catpatch() { cat $1 | sed -e "s/^\(# Parent \).*/\1/" } echo "[extensions]" >> $HGRCPATH echo "mq=" >> $HGRCPATH runtest() { hg init mq cd mq echo a > a hg ci -Ama echo '% qnew should refuse bad patch names' hg qnew series hg qnew status hg qnew guards hg qnew .hgignore hg qnew .mqfoo hg qnew 'foo#bar' hg qinit -c echo '% qnew with uncommitted changes' echo a > somefile hg add somefile hg qnew uncommitted.patch hg st hg qseries echo '% qnew implies add' hg -R .hg/patches st echo '% qnew missing' hg qnew missing.patch missing echo '% qnew -m' hg qnew -m 'foo bar' mtest.patch catpatch .hg/patches/mtest.patch echo '% qnew twice' hg qnew first.patch hg qnew first.patch touch ../first.patch hg qimport ../first.patch echo '% qnew -f from a subdirectory' hg qpop -a mkdir d cd d echo b > b hg ci -Am t echo b >> b hg st hg qnew -g -f p catpatch ../.hg/patches/p echo '% qnew -u with no username configured' HGUSER= hg qnew -u blue red catpatch ../.hg/patches/red echo '% fail when trying to import a merge' hg init merge cd merge touch a hg ci -Am null echo a >> a hg ci -m a hg up -r 0 echo b >> a hg ci -m b hg merge -f 1 hg resolve --mark a hg qnew -f merge cd ../../.. rm -r mq } echo '%%% plain headers' echo "[mq]" >> $HGRCPATH echo "plain=true" >> $HGRCPATH mkdir sandbox (cd sandbox ; runtest) rm -r sandbox echo '%%% hg headers' echo "plain=false" >> $HGRCPATH mkdir sandbox (cd sandbox ; runtest) rm -r sandbox exit 0