##// END OF EJS Templates
patchbomb: quoted-printable encode overly long lines...
Rocco Rutte -
r8332:3e544c07 default
parent child Browse files
Show More
@@ -7,7 +7,7 b''
7
7
8 from i18n import _
8 from i18n import _
9 import util, encoding
9 import util, encoding
10 import os, smtplib, socket
10 import os, smtplib, socket, quopri
11 import email.Header, email.MIMEText, email.Utils
11 import email.Header, email.MIMEText, email.Utils
12
12
13 def _smtp(ui):
13 def _smtp(ui):
@@ -88,14 +88,31 b' def validateconfig(ui):'
88
88
89 def mimetextpatch(s, subtype='plain', display=False):
89 def mimetextpatch(s, subtype='plain', display=False):
90 '''If patch in utf-8 transfer-encode it.'''
90 '''If patch in utf-8 transfer-encode it.'''
91
92 enc = None
93 for line in s.splitlines():
94 if len(line) > 950:
95 s = quopri.encodestring(s)
96 enc = "quoted-printable"
97 break
98
99 cs = 'us-ascii'
91 if not display:
100 if not display:
92 for cs in ('us-ascii', 'utf-8'):
101 try:
102 s.decode('us-ascii')
103 except UnicodeDecodeError:
93 try:
104 try:
94 s.decode(cs)
105 s.decode('utf-8')
95 return email.MIMEText.MIMEText(s, subtype, cs)
106 cs = 'utf-8'
96 except UnicodeDecodeError:
107 except UnicodeDecodeError:
108 # We'll go with us-ascii as a fallback.
97 pass
109 pass
98 return email.MIMEText.MIMEText(s, subtype)
110
111 msg = email.MIMEText.MIMEText(s, subtype, cs)
112 if enc:
113 del msg['Content-Transfer-Encoding']
114 msg['Content-Transfer-Encoding'] = enc
115 return msg
99
116
100 def _charsets(ui):
117 def _charsets(ui):
101 '''Obtains charsets to send mail parts not containing patches.'''
118 '''Obtains charsets to send mail parts not containing patches.'''
@@ -58,7 +58,23 b' echo "% md5sum of 8-bit output"'
58 $TESTDIR/md5sum.py mailtest
58 $TESTDIR/md5sum.py mailtest
59 rm mailtest
59 rm mailtest
60
60
61 echo "% mime encoded mbox"
61 echo "% mime encoded mbox (base64)"
62 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
63 cat mbox | fixheaders
64 rm mbox
65
66 echo "% mime encoded mbox (quoted-printable)"
67 python -c 'fp = open("qp", "wb"); fp.write("%s\nfoo\n\nbar\n" % \
68 ("x" * 1024)); fp.close();'
69 hg commit -A -d '4 0' -m 'charset=utf-8; content-transfer-encoding: quoted-printable'
70
71 echo "% no mime encoding for email --test"
72 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | fixheaders > mailtest
73 echo "% md5sum of qp output"
74 $TESTDIR/md5sum.py mailtest
75 rm mailtest
76
77 echo "% mime encoded mbox (quoted-printable)"
62 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
78 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
63 cat mbox | fixheaders
79 cat mbox | fixheaders
64 rm mbox
80 rm mbox
@@ -85,17 +101,25 b' echo "% test inline for single patch"'
85 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 2 | \
101 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 2 | \
86 fixheaders
102 fixheaders
87
103
104 echo "% test inline for single patch (quoted-printable)"
105 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 4 | \
106 fixheaders
107
88 echo "% test inline for multiple patches"
108 echo "% test inline for multiple patches"
89 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 0:1 | \
109 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \
90 fixheaders
110 -r 0:1 -r 4 | fixheaders
91
111
92 echo "% test attach for single patch"
112 echo "% test attach for single patch"
93 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a 2 | \
113 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a 2 | \
94 fixheaders
114 fixheaders
95
115
116 echo "% test attach for single patch (quoted-printable)"
117 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a 4 | \
118 fixheaders
119
96 echo "% test attach for multiple patches"
120 echo "% test attach for multiple patches"
97 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a 0:1 | \
121 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a \
98 fixheaders
122 -r 0:1 -r 4 | fixheaders
99
123
100 echo "% test intro for single patch"
124 echo "% test intro for single patch"
101 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test 2 | \
125 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test 2 | \
@@ -158,7 +158,7 b' adding utf'
158 % no mime encoding for email --test
158 % no mime encoding for email --test
159 % md5sum of 8-bit output
159 % md5sum of 8-bit output
160 e726c29b3008e77994c7572563e57c34 mailtest
160 e726c29b3008e77994c7572563e57c34 mailtest
161 % mime encoded mbox
161 % mime encoded mbox (base64)
162 This patch series consists of 1 patches.
162 This patch series consists of 1 patches.
163
163
164
164
@@ -188,6 +188,59 b' MCAxOTcwICswMDAwCisrKyBiL3V0ZglUaHUgSmFu'
188 LTAsMCArMSwxIEBACitow7ZtbWEhCg==
188 LTAsMCArMSwxIEBACitow7ZtbWEhCg==
189
189
190
190
191 % mime encoded mbox (quoted-printable)
192 adding qp
193 % no mime encoding for email --test
194 % md5sum of qp output
195 0402c7d033e04044e423bb04816f9dae mailtest
196 % mime encoded mbox (quoted-printable)
197 This patch series consists of 1 patches.
198
199
200 Writing [PATCH] charset=utf-8; content-transfer-encoding: quoted-printable ...
201 From quux Thu Jan 01 00:04:01 1970
202 Content-Type: text/plain; charset="us-ascii"
203 MIME-Version: 1.0
204 Content-Transfer-Encoding: quoted-printable
205 Subject: [PATCH] charset=utf-8; content-transfer-encoding: quoted-printable
206 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
207 Message-Id: <c655633f8c87700bb38c.240@
208 User-Agent: Mercurial-patchbomb
209 Date: Thu, 01 Jan 1970 00:04:00 +0000
210 From: quux
211 To: foo
212 Cc: bar
213
214 # HG changeset patch
215 # User test
216 # Date 4 0
217 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
218 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
219 charset=3Dutf-8; content-transfer-encoding: quoted-printable
220
221 diff -r c3c9e37db9f4 -r c655633f8c87 qp
222 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
223 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
224 @@ -0,0 +1,4 @@
225 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
226 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
227 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
228 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
229 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
230 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
231 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
232 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
233 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
234 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
235 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
236 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
237 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
238 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
239 +foo
240 +
241 +bar
242
243
191 % iso-8859-1 patch
244 % iso-8859-1 patch
192 adding isolatin
245 adding isolatin
193 % fake ascii mbox
246 % fake ascii mbox
@@ -196,7 +249,7 b' This patch series consists of 1 patches.'
196
249
197 Writing [PATCH] charset=us-ascii; content-transfer-encoding: 8bit ...
250 Writing [PATCH] charset=us-ascii; content-transfer-encoding: 8bit ...
198 % md5sum of 8-bit output
251 % md5sum of 8-bit output
199 40190791e367a851e42f0887b2d9439e mboxfix
252 9ea043d8fc43a71045114508baed144b mboxfix
200 % test diffstat for single patch
253 % test diffstat for single patch
201 This patch series consists of 1 patches.
254 This patch series consists of 1 patches.
202
255
@@ -376,18 +429,70 b' diff -r 97d72e5f12c7 -r ff2c9fa2018b c'
376 +c
429 +c
377
430
378 --===
431 --===
432 % test inline for single patch (quoted-printable)
433 This patch series consists of 1 patches.
434
435
436 Displaying [PATCH] test ...
437 Content-Type: multipart/mixed; boundary="===
438 MIME-Version: 1.0
439 Subject: [PATCH] test
440 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
441 Message-Id: <c655633f8c87700bb38c.60@
442 User-Agent: Mercurial-patchbomb
443 Date: Thu, 01 Jan 1970 00:01:00 +0000
444 From: quux
445 To: foo
446 Cc: bar
447
448 --===
449 Content-Type: text/x-patch; charset="us-ascii"
450 MIME-Version: 1.0
451 Content-Transfer-Encoding: quoted-printable
452 Content-Disposition: inline; filename=t2.patch
453
454 # HG changeset patch
455 # User test
456 # Date 4 0
457 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
458 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
459 charset=3Dutf-8; content-transfer-encoding: quoted-printable
460
461 diff -r c3c9e37db9f4 -r c655633f8c87 qp
462 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
463 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
464 @@ -0,0 +1,4 @@
465 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
466 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
467 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
468 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
469 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
470 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
471 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
472 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
473 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
474 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
475 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
476 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
477 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
478 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
479 +foo
480 +
481 +bar
482
483 --===
379 % test inline for multiple patches
484 % test inline for multiple patches
380 This patch series consists of 2 patches.
485 This patch series consists of 3 patches.
381
486
382
487
383 Write the introductory message for the patch series.
488 Write the introductory message for the patch series.
384
489
385
490
386 Displaying [PATCH 0 of 2] test ...
491 Displaying [PATCH 0 of 3] test ...
387 Content-Type: text/plain; charset="us-ascii"
492 Content-Type: text/plain; charset="us-ascii"
388 MIME-Version: 1.0
493 MIME-Version: 1.0
389 Content-Transfer-Encoding: 7bit
494 Content-Transfer-Encoding: 7bit
390 Subject: [PATCH 0 of 2] test
495 Subject: [PATCH 0 of 3] test
391 Message-Id: <patchbomb.60@
496 Message-Id: <patchbomb.60@
392 User-Agent: Mercurial-patchbomb
497 User-Agent: Mercurial-patchbomb
393 Date: Thu, 01 Jan 1970 00:01:00 +0000
498 Date: Thu, 01 Jan 1970 00:01:00 +0000
@@ -396,10 +501,10 b' To: foo'
396 Cc: bar
501 Cc: bar
397
502
398
503
399 Displaying [PATCH 1 of 2] a ...
504 Displaying [PATCH 1 of 3] a ...
400 Content-Type: multipart/mixed; boundary="===
505 Content-Type: multipart/mixed; boundary="===
401 MIME-Version: 1.0
506 MIME-Version: 1.0
402 Subject: [PATCH 1 of 2] a
507 Subject: [PATCH 1 of 3] a
403 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
508 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
404 Message-Id: <8580ff50825a50c8f716.61@
509 Message-Id: <8580ff50825a50c8f716.61@
405 In-Reply-To: <patchbomb.60@
510 In-Reply-To: <patchbomb.60@
@@ -430,10 +535,10 b' diff -r 000000000000 -r 8580ff50825a a'
430 +a
535 +a
431
536
432 --===
537 --===
433 Displaying [PATCH 2 of 2] b ...
538 Displaying [PATCH 2 of 3] b ...
434 Content-Type: multipart/mixed; boundary="===
539 Content-Type: multipart/mixed; boundary="===
435 MIME-Version: 1.0
540 MIME-Version: 1.0
436 Subject: [PATCH 2 of 2] b
541 Subject: [PATCH 2 of 3] b
437 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
542 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
438 Message-Id: <97d72e5f12c7e84f8506.62@
543 Message-Id: <97d72e5f12c7e84f8506.62@
439 In-Reply-To: <patchbomb.60@
544 In-Reply-To: <patchbomb.60@
@@ -464,6 +569,57 b' diff -r 8580ff50825a -r 97d72e5f12c7 b'
464 +b
569 +b
465
570
466 --===
571 --===
572 Displaying [PATCH 3 of 3] charset=utf-8; content-transfer-encoding: quoted-printable ...
573 Content-Type: multipart/mixed; boundary="===
574 MIME-Version: 1.0
575 Subject: [PATCH 3 of 3] charset=utf-8;
576 content-transfer-encoding: quoted-printable
577 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
578 Message-Id: <c655633f8c87700bb38c.63@
579 In-Reply-To: <patchbomb.60@
580 References: <patchbomb.60@
581 User-Agent: Mercurial-patchbomb
582 Date: Thu, 01 Jan 1970 00:01:03 +0000
583 From: quux
584 To: foo
585 Cc: bar
586
587 --===
588 Content-Type: text/x-patch; charset="us-ascii"
589 MIME-Version: 1.0
590 Content-Transfer-Encoding: quoted-printable
591 Content-Disposition: inline; filename=t2-3.patch
592
593 # HG changeset patch
594 # User test
595 # Date 4 0
596 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
597 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
598 charset=3Dutf-8; content-transfer-encoding: quoted-printable
599
600 diff -r c3c9e37db9f4 -r c655633f8c87 qp
601 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
602 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
603 @@ -0,0 +1,4 @@
604 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
605 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
606 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
607 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
608 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
609 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
610 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
611 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
612 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
613 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
614 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
615 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
616 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
617 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
618 +foo
619 +
620 +bar
621
622 --===
467 % test attach for single patch
623 % test attach for single patch
468 This patch series consists of 1 patches.
624 This patch series consists of 1 patches.
469
625
@@ -509,18 +665,79 b' diff -r 97d72e5f12c7 -r ff2c9fa2018b c'
509 +c
665 +c
510
666
511 --===
667 --===
668 % test attach for single patch (quoted-printable)
669 This patch series consists of 1 patches.
670
671
672 Displaying [PATCH] test ...
673 Content-Type: multipart/mixed; boundary="===
674 MIME-Version: 1.0
675 Subject: [PATCH] test
676 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
677 Message-Id: <c655633f8c87700bb38c.60@
678 User-Agent: Mercurial-patchbomb
679 Date: Thu, 01 Jan 1970 00:01:00 +0000
680 From: quux
681 To: foo
682 Cc: bar
683
684 --===
685 Content-Type: text/plain; charset="us-ascii"
686 MIME-Version: 1.0
687 Content-Transfer-Encoding: 7bit
688
689 Patch subject is complete summary.
690
691
692
693 --===
694 Content-Type: text/x-patch; charset="us-ascii"
695 MIME-Version: 1.0
696 Content-Transfer-Encoding: quoted-printable
697 Content-Disposition: attachment; filename=t2.patch
698
699 # HG changeset patch
700 # User test
701 # Date 4 0
702 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
703 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
704 charset=3Dutf-8; content-transfer-encoding: quoted-printable
705
706 diff -r c3c9e37db9f4 -r c655633f8c87 qp
707 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
708 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
709 @@ -0,0 +1,4 @@
710 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
711 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
712 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
713 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
714 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
715 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
716 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
717 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
718 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
719 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
720 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
721 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
722 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
723 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
724 +foo
725 +
726 +bar
727
728 --===
512 % test attach for multiple patches
729 % test attach for multiple patches
513 This patch series consists of 2 patches.
730 This patch series consists of 3 patches.
514
731
515
732
516 Write the introductory message for the patch series.
733 Write the introductory message for the patch series.
517
734
518
735
519 Displaying [PATCH 0 of 2] test ...
736 Displaying [PATCH 0 of 3] test ...
520 Content-Type: text/plain; charset="us-ascii"
737 Content-Type: text/plain; charset="us-ascii"
521 MIME-Version: 1.0
738 MIME-Version: 1.0
522 Content-Transfer-Encoding: 7bit
739 Content-Transfer-Encoding: 7bit
523 Subject: [PATCH 0 of 2] test
740 Subject: [PATCH 0 of 3] test
524 Message-Id: <patchbomb.60@
741 Message-Id: <patchbomb.60@
525 User-Agent: Mercurial-patchbomb
742 User-Agent: Mercurial-patchbomb
526 Date: Thu, 01 Jan 1970 00:01:00 +0000
743 Date: Thu, 01 Jan 1970 00:01:00 +0000
@@ -529,10 +746,10 b' To: foo'
529 Cc: bar
746 Cc: bar
530
747
531
748
532 Displaying [PATCH 1 of 2] a ...
749 Displaying [PATCH 1 of 3] a ...
533 Content-Type: multipart/mixed; boundary="===
750 Content-Type: multipart/mixed; boundary="===
534 MIME-Version: 1.0
751 MIME-Version: 1.0
535 Subject: [PATCH 1 of 2] a
752 Subject: [PATCH 1 of 3] a
536 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
753 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
537 Message-Id: <8580ff50825a50c8f716.61@
754 Message-Id: <8580ff50825a50c8f716.61@
538 In-Reply-To: <patchbomb.60@
755 In-Reply-To: <patchbomb.60@
@@ -572,10 +789,10 b' diff -r 000000000000 -r 8580ff50825a a'
572 +a
789 +a
573
790
574 --===
791 --===
575 Displaying [PATCH 2 of 2] b ...
792 Displaying [PATCH 2 of 3] b ...
576 Content-Type: multipart/mixed; boundary="===
793 Content-Type: multipart/mixed; boundary="===
577 MIME-Version: 1.0
794 MIME-Version: 1.0
578 Subject: [PATCH 2 of 2] b
795 Subject: [PATCH 2 of 3] b
579 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
796 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
580 Message-Id: <97d72e5f12c7e84f8506.62@
797 Message-Id: <97d72e5f12c7e84f8506.62@
581 In-Reply-To: <patchbomb.60@
798 In-Reply-To: <patchbomb.60@
@@ -615,6 +832,66 b' diff -r 8580ff50825a -r 97d72e5f12c7 b'
615 +b
832 +b
616
833
617 --===
834 --===
835 Displaying [PATCH 3 of 3] charset=utf-8; content-transfer-encoding: quoted-printable ...
836 Content-Type: multipart/mixed; boundary="===
837 MIME-Version: 1.0
838 Subject: [PATCH 3 of 3] charset=utf-8;
839 content-transfer-encoding: quoted-printable
840 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
841 Message-Id: <c655633f8c87700bb38c.63@
842 In-Reply-To: <patchbomb.60@
843 References: <patchbomb.60@
844 User-Agent: Mercurial-patchbomb
845 Date: Thu, 01 Jan 1970 00:01:03 +0000
846 From: quux
847 To: foo
848 Cc: bar
849
850 --===
851 Content-Type: text/plain; charset="us-ascii"
852 MIME-Version: 1.0
853 Content-Transfer-Encoding: 7bit
854
855 Patch subject is complete summary.
856
857
858
859 --===
860 Content-Type: text/x-patch; charset="us-ascii"
861 MIME-Version: 1.0
862 Content-Transfer-Encoding: quoted-printable
863 Content-Disposition: attachment; filename=t2-3.patch
864
865 # HG changeset patch
866 # User test
867 # Date 4 0
868 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
869 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
870 charset=3Dutf-8; content-transfer-encoding: quoted-printable
871
872 diff -r c3c9e37db9f4 -r c655633f8c87 qp
873 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
874 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
875 @@ -0,0 +1,4 @@
876 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
877 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
878 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
879 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
880 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
881 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
882 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
883 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
884 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
885 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
886 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
887 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
888 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
889 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
890 +foo
891 +
892 +bar
893
894 --===
618 % test intro for single patch
895 % test intro for single patch
619 This patch series consists of 1 patches.
896 This patch series consists of 1 patches.
620
897
@@ -873,8 +1150,8 b' Content-Type: text/plain; charset="us-as'
873 MIME-Version: 1.0
1150 MIME-Version: 1.0
874 Content-Transfer-Encoding: 7bit
1151 Content-Transfer-Encoding: 7bit
875 Subject: [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b
1152 Subject: [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b
876 X-Mercurial-Node: 2c502b2db30e1ddd5e4ecabd68d9002f6c77a5a3
1153 X-Mercurial-Node: e317db6a6f288748d1f6cb064f3810fcba66b1b6
877 Message-Id: <2c502b2db30e1ddd5e4e.60@
1154 Message-Id: <e317db6a6f288748d1f6.60@
878 In-Reply-To: baz
1155 In-Reply-To: baz
879 References: baz
1156 References: baz
880 User-Agent: Mercurial-patchbomb
1157 User-Agent: Mercurial-patchbomb
@@ -886,11 +1163,11 b' Cc: bar'
886 # HG changeset patch
1163 # HG changeset patch
887 # User test
1164 # User test
888 # Date 0 0
1165 # Date 0 0
889 # Node ID 2c502b2db30e1ddd5e4ecabd68d9002f6c77a5a3
1166 # Node ID e317db6a6f288748d1f6cb064f3810fcba66b1b6
890 # Parent 91c0d1bdb4bc9cfd3b38a53a5ec53e9ae412a275
1167 # Parent eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
891 Added tag two, two.diff for changeset ff2c9fa2018b
1168 Added tag two, two.diff for changeset ff2c9fa2018b
892
1169
893 diff -r 91c0d1bdb4bc -r 2c502b2db30e .hgtags
1170 diff -r eae5fcf795ee -r e317db6a6f28 .hgtags
894 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1171 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
895 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1172 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
896 @@ -2,3 +2,5 @@
1173 @@ -2,3 +2,5 @@
General Comments 0
You need to be logged in to leave comments. Login now