#!/bin/sh fixheaders() { sed -e 's/\(Message-Id:.*@\).*/\1/' \ -e 's/\(In-Reply-To:.*@\).*/\1/' \ -e 's/\(References:.*@\).*/\1/' \ -e 's/===.*/===/' } echo "[extensions]" >> $HGRCPATH echo "patchbomb=" >> $HGRCPATH COLUMNS=80; export COLUMNS hg init t cd t echo a > a hg commit -Ama -d '1 0' hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar tip | \ fixheaders echo b > b hg commit -Amb -d '2 0' hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test 0:tip | \ fixheaders hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip cd .. hg clone -q t t2 cd t2 echo c > c hg commit -Amc -d '3 0' cat > description < mailtest echo "% md5sum of 8-bit output" $TESTDIR/md5sum.py mailtest rm mailtest echo "% mime encoded mbox" hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox cat mbox | fixheaders rm mbox echo "% iso-8859-1 patch" python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();' hg commit -A -d '5 0' -m 'charset=us-ascii; content-transfer-encoding: 8bit' echo "% fake ascii mbox" hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox fixheaders < mbox > mboxfix echo "% md5sum of 8-bit output" $TESTDIR/md5sum.py mboxfix echo "% test diffstat for single patch" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y 2 | \ fixheaders echo "% test diffstat for multiple patches" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y 0:1 | \ fixheaders echo "% test inline for single patch" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 2 | \ fixheaders echo "% test inline for multiple patches" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 0:1 | \ fixheaders echo "% test attach for single patch" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a 2 | \ fixheaders echo "% test attach for multiple patches" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a 0:1 | \ fixheaders echo "% test intro for single patch" hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test 2 | \ fixheaders echo "% test intro for multiple patches" hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test 0:1 | \ fixheaders echo "% tagging csets" hg tag -r0 zero zero.foo hg tag -r1 one one.patch hg tag -r2 two two.diff echo "% test inline for single named patch" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 2 | \ fixheaders echo "% test inline for multiple named/unnamed patches" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 0:1 | \ fixheaders echo "% test inreplyto" hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz tip | \ fixheaders