##// END OF EJS Templates
patch: support diff data loss detection and upgrade...
patch: support diff data loss detection and upgrade In worst case, generating diff in upgrade mode can be two times more expensive than generating it in git mode directly: we may have to regenerate the whole diff again whenever a git feature is detected. Also, the first diff attempt is completely buffered instead of being streamed. That said, even without having profiled it yet, I am convinced we can fast-path the upgrade mode if necessary were it to be used in regular diff commands, and not only in mq where avoiding data loss is worth the price.

File last commit:

r10023:15fbbc93 merge default
r10189:e451e599 default
Show More
test-patchbomb
195 lines | 5.7 KiB | text/plain | TextLexer
Bryan O'Sullivan
add test for patchbomb extension.
r4420 #!/bin/sh
Patrick Mezard
patchbomb: make --bundle respect --desc
r5753 fixheaders()
{
sed -e 's/\(Message-Id:.*@\).*/\1/' \
-e 's/\(In-Reply-To:.*@\).*/\1/' \
Benoit Allard
email: add References field in the header...
r7413 -e 's/\(References:.*@\).*/\1/' \
Henrik Stuart
patchbomb: add user agent header to mails
r8160 -e 's/\(User-Agent:.*\)\/.*/\1/' \
Patrick Mezard
patchbomb: make --bundle respect --desc
r5753 -e 's/===.*/===/'
}
Bryan O'Sullivan
add test for patchbomb extension.
r4420 echo "[extensions]" >> $HGRCPATH
echo "patchbomb=" >> $HGRCPATH
Patrick Mezard
patchbomb: make --bundle respect --desc
r5753 hg init t
cd t
Bryan O'Sullivan
add test for patchbomb extension.
r4420 echo a > a
hg commit -Ama -d '1 0'
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip | \
Patrick Mezard
patchbomb: make --bundle respect --desc
r5753 fixheaders
Bryan O'Sullivan
add test for patchbomb extension.
r4420
echo b > b
hg commit -Amb -d '2 0'
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test -r 0:tip | \
Patrick Mezard
patchbomb: make --bundle respect --desc
r5753 fixheaders
Bryan O'Sullivan
Don't validate email config if we're not sending email.
r4565
Thomas Arendsen Hein
Correct tests/test-patchbomb* files:...
r4567 hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip
Patrick Mezard
patchbomb: make --bundle respect --desc
r5753
cd ..
hg clone -q t t2
cd t2
echo c > c
hg commit -Amc -d '3 0'
cat > description <<EOF
a multiline
description
EOF
Peter Arrenbrecht
patchbomb: make test markers more syntax highlighter friendly
r7357 echo "% test bundle and description"
Patrick Mezard
patchbomb: make --bundle respect --desc
r5753 hg email --date '1970-1-1 0:3' -n -f quux -t foo \
-c bar -s test -r tip -b --desc description | \
fixheaders
Peter Arrenbrecht
patchbomb: make test markers more syntax highlighter friendly
r7357 echo "% utf-8 patch"
Patrick Mezard
test-patchbomb: write in binary mode, force non-interactive mode (win32)
r7265 python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();'
Christian Ebert
mail: test patch mime encoding for patchbomb
r7193 hg commit -A -d '4 0' -m 'charset=utf-8; content-transfer-encoding: base64'
Peter Arrenbrecht
patchbomb: make test markers more syntax highlighter friendly
r7357 echo "% no mime encoding for email --test"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | \
fixheaders > mailtest
Peter Arrenbrecht
patchbomb: make test markers more syntax highlighter friendly
r7357 echo "% md5sum of 8-bit output"
Christian Ebert
mail: test patch mime encoding for patchbomb
r7193 $TESTDIR/md5sum.py mailtest
rm mailtest
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332 echo "% mime encoded mbox (base64)"
hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
cat mbox | fixheaders
rm mbox
echo "% mime encoded mbox (quoted-printable)"
python -c 'fp = open("qp", "wb"); fp.write("%s\nfoo\n\nbar\n" % \
("x" * 1024)); fp.close();'
Rocco Rutte
test-patchbomb: fix style...
r8351 hg commit -A -d '4 0' -m \
'charset=utf-8; content-transfer-encoding: quoted-printable'
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332
echo "% no mime encoding for email --test"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | \
fixheaders > mailtest
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332 echo "% md5sum of qp output"
$TESTDIR/md5sum.py mailtest
rm mailtest
echo "% mime encoded mbox (quoted-printable)"
Patrick Mezard
test-patchbomb: write in binary mode, force non-interactive mode (win32)
r7265 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
Christian Ebert
mail: test patch mime encoding for patchbomb
r7193 cat mbox | fixheaders
rm mbox
Peter Arrenbrecht
patchbomb: make test markers more syntax highlighter friendly
r7357 echo "% iso-8859-1 patch"
Patrick Mezard
test-patchbomb: write in binary mode, force non-interactive mode (win32)
r7265 python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();'
Christian Ebert
mail: test patch mime encoding for patchbomb
r7193 hg commit -A -d '5 0' -m 'charset=us-ascii; content-transfer-encoding: 8bit'
Peter Arrenbrecht
patchbomb: make test markers more syntax highlighter friendly
r7357 echo "% fake ascii mbox"
Patrick Mezard
test-patchbomb: write in binary mode, force non-interactive mode (win32)
r7265 hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox
Christian Ebert
mail: test patch mime encoding for patchbomb
r7193 fixheaders < mbox > mboxfix
Peter Arrenbrecht
patchbomb: make test markers more syntax highlighter friendly
r7357 echo "% md5sum of 8-bit output"
Christian Ebert
mail: test patch mime encoding for patchbomb
r7193 $TESTDIR/md5sum.py mboxfix
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358
echo "% test diffstat for single patch"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y -r 2 | \
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358 fixheaders
echo "% test diffstat for multiple patches"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y \
-r 0:1 | fixheaders
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358
echo "% test inline for single patch"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2 | \
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358 fixheaders
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332 echo "% test inline for single patch (quoted-printable)"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 4 | \
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332 fixheaders
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358 echo "% test inline for multiple patches"
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \
-r 0:1 -r 4 | fixheaders
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358
echo "% test attach for single patch"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 2 | \
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358 fixheaders
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332 echo "% test attach for single patch (quoted-printable)"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 4 | \
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332 fixheaders
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358 echo "% test attach for multiple patches"
Rocco Rutte
patchbomb: quoted-printable encode overly long lines...
r8332 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a \
-r 0:1 -r 4 | fixheaders
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358
Chris Winter
patchbomb: add option to send intro email for a single patch (issue1120)
r7360 echo "% test intro for single patch"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
-r 2 | fixheaders
Chris Winter
patchbomb: add option to send intro email for a single patch (issue1120)
r7360
echo "% test intro for multiple patches"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
-r 0:1 | fixheaders
Chris Winter
patchbomb: add option to send intro email for a single patch (issue1120)
r7360
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358 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"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2 | \
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358 fixheaders
echo "% test inline for multiple named/unnamed patches"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 0:1 | \
Peter Arrenbrecht
patchbomb: add tests for diffstat, inline, and attach options
r7358 fixheaders
Henrik Stuart <henrik.stuart at edlund.dk>
patchbomb: Support initial in-reply-to header...
r8025 echo "% test inreplyto"
Rocco Rutte
test-patchbomb: fix style...
r8351 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
-r tip | fixheaders
Cédric Duval
patchbomb: with --in-reply-to, still thread message under first in series...
r8514
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
-r 0:1 | fixheaders
Nicolas Dumazet
patchbomb: add --flag to put flags in subject prefixes...
r9346
Alexander Solovyov
fix patchbomb prompt when sending series of patches
r9612 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
-s test -r 0:1 | fixheaders
Nicolas Dumazet
patchbomb: add --flag to put flags in subject prefixes...
r9346 echo "% test single flag for single patch"
hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
-r 2 | fixheaders
echo "% test single flag for multiple patches"
hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
-r 0:1 | fixheaders
echo "% test mutiple flags for single patch"
hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
-c bar -s test -r 2 | fixheaders
echo "% test multiple flags for multiple patches"
hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
-c bar -s test -r 0:1 | fixheaders
Marti Raudsepp
patchbomb: fix handling of email addresses with Unicode domains (IDNA)...
r9715
Marti Raudsepp
patchbomb: fix parsing of multiple addresses, allow multiple addrs in --to/cc/bcc...
r9947 echo "% test multi-address parsing"
hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t 'spam<spam><eggs>' \
-t toast -c 'foo,bar@example.com' -c '"A, B <>" <a@example.com>' -s test -r 0 \
--config email.bcc='"Quux, A." <quux>'
cat tmp.mbox | fixheaders
Marti Raudsepp
patchbomb: fix handling of email addresses with Unicode domains (IDNA)...
r9715 echo "% test multi-byte domain parsing"
Marti Raudsepp
patchbomb: fix 'echo -en' bashism in test-patchbomb...
r9730 UUML=`printf '\374'`
Benoit Boissinot
fix test-patchbomb on solaris
r9800 HGENCODING=iso-8859-1
export HGENCODING
Marti Raudsepp
patchbomb: fix handling of email addresses with Unicode domains (IDNA)...
r9715 hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t "bar@${UUML}nicode.com" \
-s test -r 0
cat tmp.mbox | fixheaders
Sune Foldager
patchbomb: handle repository#rev URLs correctly
r10018
Sune Foldager
patchbomb: fix bug introduced in 4ddfad7ebd98 and add test...
r10022 echo "% test outgoing"
Sune Foldager
patchbomb: handle repository#rev URLs correctly
r10018 hg up 1
hg branch test
echo d > d
hg add d
hg ci -md -d '4 0'
Sune Foldager
patchbomb: fix bug introduced in 4ddfad7ebd98 and add test...
r10022 hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t | fixheaders
echo "% dest#branch URIs"
Sune Foldager
patchbomb: handle repository#rev URLs correctly
r10018 hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t#test | fixheaders