Show More
@@ -1,170 +1,187 b'' | |||||
1 | # mail.py - mail sending bits for mercurial |
|
1 | # mail.py - mail sending bits for mercurial | |
2 | # |
|
2 | # | |
3 | # Copyright 2006 Matt Mackall <mpm@selenic.com> |
|
3 | # Copyright 2006 Matt Mackall <mpm@selenic.com> | |
4 | # |
|
4 | # | |
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2, incorporated herein by reference. |
|
6 | # GNU General Public License version 2, incorporated herein by reference. | |
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): | |
14 | '''build an smtp connection and return a function to send mail''' |
|
14 | '''build an smtp connection and return a function to send mail''' | |
15 | local_hostname = ui.config('smtp', 'local_hostname') |
|
15 | local_hostname = ui.config('smtp', 'local_hostname') | |
16 | s = smtplib.SMTP(local_hostname=local_hostname) |
|
16 | s = smtplib.SMTP(local_hostname=local_hostname) | |
17 | mailhost = ui.config('smtp', 'host') |
|
17 | mailhost = ui.config('smtp', 'host') | |
18 | if not mailhost: |
|
18 | if not mailhost: | |
19 | raise util.Abort(_('no [smtp]host in hgrc - cannot send mail')) |
|
19 | raise util.Abort(_('no [smtp]host in hgrc - cannot send mail')) | |
20 | mailport = int(ui.config('smtp', 'port', 25)) |
|
20 | mailport = int(ui.config('smtp', 'port', 25)) | |
21 | ui.note(_('sending mail: smtp host %s, port %s\n') % |
|
21 | ui.note(_('sending mail: smtp host %s, port %s\n') % | |
22 | (mailhost, mailport)) |
|
22 | (mailhost, mailport)) | |
23 | s.connect(host=mailhost, port=mailport) |
|
23 | s.connect(host=mailhost, port=mailport) | |
24 | if ui.configbool('smtp', 'tls'): |
|
24 | if ui.configbool('smtp', 'tls'): | |
25 | if not hasattr(socket, 'ssl'): |
|
25 | if not hasattr(socket, 'ssl'): | |
26 | raise util.Abort(_("can't use TLS: Python SSL support " |
|
26 | raise util.Abort(_("can't use TLS: Python SSL support " | |
27 | "not installed")) |
|
27 | "not installed")) | |
28 | ui.note(_('(using tls)\n')) |
|
28 | ui.note(_('(using tls)\n')) | |
29 | s.ehlo() |
|
29 | s.ehlo() | |
30 | s.starttls() |
|
30 | s.starttls() | |
31 | s.ehlo() |
|
31 | s.ehlo() | |
32 | username = ui.config('smtp', 'username') |
|
32 | username = ui.config('smtp', 'username') | |
33 | password = ui.config('smtp', 'password') |
|
33 | password = ui.config('smtp', 'password') | |
34 | if username and not password: |
|
34 | if username and not password: | |
35 | password = ui.getpass() |
|
35 | password = ui.getpass() | |
36 | if username and password: |
|
36 | if username and password: | |
37 | ui.note(_('(authenticating to mail server as %s)\n') % |
|
37 | ui.note(_('(authenticating to mail server as %s)\n') % | |
38 | (username)) |
|
38 | (username)) | |
39 | s.login(username, password) |
|
39 | s.login(username, password) | |
40 |
|
40 | |||
41 | def send(sender, recipients, msg): |
|
41 | def send(sender, recipients, msg): | |
42 | try: |
|
42 | try: | |
43 | return s.sendmail(sender, recipients, msg) |
|
43 | return s.sendmail(sender, recipients, msg) | |
44 | except smtplib.SMTPRecipientsRefused, inst: |
|
44 | except smtplib.SMTPRecipientsRefused, inst: | |
45 | recipients = [r[1] for r in inst.recipients.values()] |
|
45 | recipients = [r[1] for r in inst.recipients.values()] | |
46 | raise util.Abort('\n' + '\n'.join(recipients)) |
|
46 | raise util.Abort('\n' + '\n'.join(recipients)) | |
47 | except smtplib.SMTPException, inst: |
|
47 | except smtplib.SMTPException, inst: | |
48 | raise util.Abort(inst) |
|
48 | raise util.Abort(inst) | |
49 |
|
49 | |||
50 | return send |
|
50 | return send | |
51 |
|
51 | |||
52 | def _sendmail(ui, sender, recipients, msg): |
|
52 | def _sendmail(ui, sender, recipients, msg): | |
53 | '''send mail using sendmail.''' |
|
53 | '''send mail using sendmail.''' | |
54 | program = ui.config('email', 'method') |
|
54 | program = ui.config('email', 'method') | |
55 | cmdline = '%s -f %s %s' % (program, util.email(sender), |
|
55 | cmdline = '%s -f %s %s' % (program, util.email(sender), | |
56 | ' '.join(map(util.email, recipients))) |
|
56 | ' '.join(map(util.email, recipients))) | |
57 | ui.note(_('sending mail: %s\n') % cmdline) |
|
57 | ui.note(_('sending mail: %s\n') % cmdline) | |
58 | fp = util.popen(cmdline, 'w') |
|
58 | fp = util.popen(cmdline, 'w') | |
59 | fp.write(msg) |
|
59 | fp.write(msg) | |
60 | ret = fp.close() |
|
60 | ret = fp.close() | |
61 | if ret: |
|
61 | if ret: | |
62 | raise util.Abort('%s %s' % ( |
|
62 | raise util.Abort('%s %s' % ( | |
63 | os.path.basename(program.split(None, 1)[0]), |
|
63 | os.path.basename(program.split(None, 1)[0]), | |
64 | util.explain_exit(ret)[0])) |
|
64 | util.explain_exit(ret)[0])) | |
65 |
|
65 | |||
66 | def connect(ui): |
|
66 | def connect(ui): | |
67 | '''make a mail connection. return a function to send mail. |
|
67 | '''make a mail connection. return a function to send mail. | |
68 | call as sendmail(sender, list-of-recipients, msg).''' |
|
68 | call as sendmail(sender, list-of-recipients, msg).''' | |
69 | if ui.config('email', 'method', 'smtp') == 'smtp': |
|
69 | if ui.config('email', 'method', 'smtp') == 'smtp': | |
70 | return _smtp(ui) |
|
70 | return _smtp(ui) | |
71 | return lambda s, r, m: _sendmail(ui, s, r, m) |
|
71 | return lambda s, r, m: _sendmail(ui, s, r, m) | |
72 |
|
72 | |||
73 | def sendmail(ui, sender, recipients, msg): |
|
73 | def sendmail(ui, sender, recipients, msg): | |
74 | send = connect(ui) |
|
74 | send = connect(ui) | |
75 | return send(sender, recipients, msg) |
|
75 | return send(sender, recipients, msg) | |
76 |
|
76 | |||
77 | def validateconfig(ui): |
|
77 | def validateconfig(ui): | |
78 | '''determine if we have enough config data to try sending email.''' |
|
78 | '''determine if we have enough config data to try sending email.''' | |
79 | method = ui.config('email', 'method', 'smtp') |
|
79 | method = ui.config('email', 'method', 'smtp') | |
80 | if method == 'smtp': |
|
80 | if method == 'smtp': | |
81 | if not ui.config('smtp', 'host'): |
|
81 | if not ui.config('smtp', 'host'): | |
82 | raise util.Abort(_('smtp specified as email transport, ' |
|
82 | raise util.Abort(_('smtp specified as email transport, ' | |
83 | 'but no smtp host configured')) |
|
83 | 'but no smtp host configured')) | |
84 | else: |
|
84 | else: | |
85 | if not util.find_exe(method): |
|
85 | if not util.find_exe(method): | |
86 | raise util.Abort(_('%r specified as email transport, ' |
|
86 | raise util.Abort(_('%r specified as email transport, ' | |
87 | 'but not in PATH') % method) |
|
87 | 'but not in PATH') % method) | |
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( |
|
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.''' | |
102 | charsets = [cs.lower() for cs in ui.configlist('email', 'charsets')] |
|
119 | charsets = [cs.lower() for cs in ui.configlist('email', 'charsets')] | |
103 | fallbacks = [encoding.fallbackencoding.lower(), |
|
120 | fallbacks = [encoding.fallbackencoding.lower(), | |
104 | encoding.encoding.lower(), 'utf-8'] |
|
121 | encoding.encoding.lower(), 'utf-8'] | |
105 | for cs in fallbacks: # util.unique does not keep order |
|
122 | for cs in fallbacks: # util.unique does not keep order | |
106 | if cs not in charsets: |
|
123 | if cs not in charsets: | |
107 | charsets.append(cs) |
|
124 | charsets.append(cs) | |
108 | return [cs for cs in charsets if not cs.endswith('ascii')] |
|
125 | return [cs for cs in charsets if not cs.endswith('ascii')] | |
109 |
|
126 | |||
110 | def _encode(ui, s, charsets): |
|
127 | def _encode(ui, s, charsets): | |
111 | '''Returns (converted) string, charset tuple. |
|
128 | '''Returns (converted) string, charset tuple. | |
112 | Finds out best charset by cycling through sendcharsets in descending |
|
129 | Finds out best charset by cycling through sendcharsets in descending | |
113 | order. Tries both encoding and fallbackencoding for input. Only as |
|
130 | order. Tries both encoding and fallbackencoding for input. Only as | |
114 | last resort send as is in fake ascii. |
|
131 | last resort send as is in fake ascii. | |
115 | Caveat: Do not use for mail parts containing patches!''' |
|
132 | Caveat: Do not use for mail parts containing patches!''' | |
116 | try: |
|
133 | try: | |
117 | s.decode('ascii') |
|
134 | s.decode('ascii') | |
118 | except UnicodeDecodeError: |
|
135 | except UnicodeDecodeError: | |
119 | sendcharsets = charsets or _charsets(ui) |
|
136 | sendcharsets = charsets or _charsets(ui) | |
120 | for ics in (encoding.encoding, encoding.fallbackencoding): |
|
137 | for ics in (encoding.encoding, encoding.fallbackencoding): | |
121 | try: |
|
138 | try: | |
122 | u = s.decode(ics) |
|
139 | u = s.decode(ics) | |
123 | except UnicodeDecodeError: |
|
140 | except UnicodeDecodeError: | |
124 | continue |
|
141 | continue | |
125 | for ocs in sendcharsets: |
|
142 | for ocs in sendcharsets: | |
126 | try: |
|
143 | try: | |
127 | return u.encode(ocs), ocs |
|
144 | return u.encode(ocs), ocs | |
128 | except UnicodeEncodeError: |
|
145 | except UnicodeEncodeError: | |
129 | pass |
|
146 | pass | |
130 | except LookupError: |
|
147 | except LookupError: | |
131 | ui.warn(_('ignoring invalid sendcharset: %s\n') % ocs) |
|
148 | ui.warn(_('ignoring invalid sendcharset: %s\n') % ocs) | |
132 | # if ascii, or all conversion attempts fail, send (broken) ascii |
|
149 | # if ascii, or all conversion attempts fail, send (broken) ascii | |
133 | return s, 'us-ascii' |
|
150 | return s, 'us-ascii' | |
134 |
|
151 | |||
135 | def headencode(ui, s, charsets=None, display=False): |
|
152 | def headencode(ui, s, charsets=None, display=False): | |
136 | '''Returns RFC-2047 compliant header from given string.''' |
|
153 | '''Returns RFC-2047 compliant header from given string.''' | |
137 | if not display: |
|
154 | if not display: | |
138 | # split into words? |
|
155 | # split into words? | |
139 | s, cs = _encode(ui, s, charsets) |
|
156 | s, cs = _encode(ui, s, charsets) | |
140 | return str(email.Header.Header(s, cs)) |
|
157 | return str(email.Header.Header(s, cs)) | |
141 | return s |
|
158 | return s | |
142 |
|
159 | |||
143 | def addressencode(ui, address, charsets=None, display=False): |
|
160 | def addressencode(ui, address, charsets=None, display=False): | |
144 | '''Turns address into RFC-2047 compliant header.''' |
|
161 | '''Turns address into RFC-2047 compliant header.''' | |
145 | if display or not address: |
|
162 | if display or not address: | |
146 | return address or '' |
|
163 | return address or '' | |
147 | name, addr = email.Utils.parseaddr(address) |
|
164 | name, addr = email.Utils.parseaddr(address) | |
148 | name = headencode(ui, name, charsets) |
|
165 | name = headencode(ui, name, charsets) | |
149 | try: |
|
166 | try: | |
150 | acc, dom = addr.split('@') |
|
167 | acc, dom = addr.split('@') | |
151 | acc = acc.encode('ascii') |
|
168 | acc = acc.encode('ascii') | |
152 | dom = dom.encode('idna') |
|
169 | dom = dom.encode('idna') | |
153 | addr = '%s@%s' % (acc, dom) |
|
170 | addr = '%s@%s' % (acc, dom) | |
154 | except UnicodeDecodeError: |
|
171 | except UnicodeDecodeError: | |
155 | raise util.Abort(_('invalid email address: %s') % addr) |
|
172 | raise util.Abort(_('invalid email address: %s') % addr) | |
156 | except ValueError: |
|
173 | except ValueError: | |
157 | try: |
|
174 | try: | |
158 | # too strict? |
|
175 | # too strict? | |
159 | addr = addr.encode('ascii') |
|
176 | addr = addr.encode('ascii') | |
160 | except UnicodeDecodeError: |
|
177 | except UnicodeDecodeError: | |
161 | raise util.Abort(_('invalid local address: %s') % addr) |
|
178 | raise util.Abort(_('invalid local address: %s') % addr) | |
162 | return email.Utils.formataddr((name, addr)) |
|
179 | return email.Utils.formataddr((name, addr)) | |
163 |
|
180 | |||
164 | def mimeencode(ui, s, charsets=None, display=False): |
|
181 | def mimeencode(ui, s, charsets=None, display=False): | |
165 | '''creates mime text object, encodes it if needed, and sets |
|
182 | '''creates mime text object, encodes it if needed, and sets | |
166 | charset and transfer-encoding accordingly.''' |
|
183 | charset and transfer-encoding accordingly.''' | |
167 | cs = 'us-ascii' |
|
184 | cs = 'us-ascii' | |
168 | if not display: |
|
185 | if not display: | |
169 | s, cs = _encode(ui, s, charsets) |
|
186 | s, cs = _encode(ui, s, charsets) | |
170 | return email.MIMEText.MIMEText(s, 'plain', cs) |
|
187 | return email.MIMEText.MIMEText(s, 'plain', cs) |
@@ -1,123 +1,147 b'' | |||||
1 | #!/bin/sh |
|
1 | #!/bin/sh | |
2 |
|
2 | |||
3 | fixheaders() |
|
3 | fixheaders() | |
4 | { |
|
4 | { | |
5 | sed -e 's/\(Message-Id:.*@\).*/\1/' \ |
|
5 | sed -e 's/\(Message-Id:.*@\).*/\1/' \ | |
6 | -e 's/\(In-Reply-To:.*@\).*/\1/' \ |
|
6 | -e 's/\(In-Reply-To:.*@\).*/\1/' \ | |
7 | -e 's/\(References:.*@\).*/\1/' \ |
|
7 | -e 's/\(References:.*@\).*/\1/' \ | |
8 | -e 's/\(User-Agent:.*\)\/.*/\1/' \ |
|
8 | -e 's/\(User-Agent:.*\)\/.*/\1/' \ | |
9 | -e 's/===.*/===/' |
|
9 | -e 's/===.*/===/' | |
10 | } |
|
10 | } | |
11 |
|
11 | |||
12 | echo "[extensions]" >> $HGRCPATH |
|
12 | echo "[extensions]" >> $HGRCPATH | |
13 | echo "patchbomb=" >> $HGRCPATH |
|
13 | echo "patchbomb=" >> $HGRCPATH | |
14 |
|
14 | |||
15 | COLUMNS=80; export COLUMNS |
|
15 | COLUMNS=80; export COLUMNS | |
16 |
|
16 | |||
17 | hg init t |
|
17 | hg init t | |
18 | cd t |
|
18 | cd t | |
19 | echo a > a |
|
19 | echo a > a | |
20 | hg commit -Ama -d '1 0' |
|
20 | hg commit -Ama -d '1 0' | |
21 |
|
21 | |||
22 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar tip | \ |
|
22 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar tip | \ | |
23 | fixheaders |
|
23 | fixheaders | |
24 |
|
24 | |||
25 | echo b > b |
|
25 | echo b > b | |
26 | hg commit -Amb -d '2 0' |
|
26 | hg commit -Amb -d '2 0' | |
27 |
|
27 | |||
28 | hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test 0:tip | \ |
|
28 | hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test 0:tip | \ | |
29 | fixheaders |
|
29 | fixheaders | |
30 |
|
30 | |||
31 | hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip |
|
31 | hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip | |
32 |
|
32 | |||
33 | cd .. |
|
33 | cd .. | |
34 |
|
34 | |||
35 | hg clone -q t t2 |
|
35 | hg clone -q t t2 | |
36 | cd t2 |
|
36 | cd t2 | |
37 | echo c > c |
|
37 | echo c > c | |
38 | hg commit -Amc -d '3 0' |
|
38 | hg commit -Amc -d '3 0' | |
39 |
|
39 | |||
40 | cat > description <<EOF |
|
40 | cat > description <<EOF | |
41 | a multiline |
|
41 | a multiline | |
42 |
|
42 | |||
43 | description |
|
43 | description | |
44 | EOF |
|
44 | EOF | |
45 |
|
45 | |||
46 | echo "% test bundle and description" |
|
46 | echo "% test bundle and description" | |
47 | hg email --date '1970-1-1 0:3' -n -f quux -t foo \ |
|
47 | hg email --date '1970-1-1 0:3' -n -f quux -t foo \ | |
48 | -c bar -s test -r tip -b --desc description | \ |
|
48 | -c bar -s test -r tip -b --desc description | \ | |
49 | fixheaders |
|
49 | fixheaders | |
50 |
|
50 | |||
51 | echo "% utf-8 patch" |
|
51 | echo "% utf-8 patch" | |
52 | python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();' |
|
52 | python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();' | |
53 | hg commit -A -d '4 0' -m 'charset=utf-8; content-transfer-encoding: base64' |
|
53 | hg commit -A -d '4 0' -m 'charset=utf-8; content-transfer-encoding: base64' | |
54 |
|
54 | |||
55 | echo "% no mime encoding for email --test" |
|
55 | echo "% no mime encoding for email --test" | |
56 | hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | fixheaders > mailtest |
|
56 | hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | fixheaders > mailtest | |
57 | echo "% md5sum of 8-bit output" |
|
57 | 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 | |
65 |
|
81 | |||
66 | echo "% iso-8859-1 patch" |
|
82 | echo "% iso-8859-1 patch" | |
67 | python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();' |
|
83 | python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();' | |
68 | hg commit -A -d '5 0' -m 'charset=us-ascii; content-transfer-encoding: 8bit' |
|
84 | hg commit -A -d '5 0' -m 'charset=us-ascii; content-transfer-encoding: 8bit' | |
69 |
|
85 | |||
70 | echo "% fake ascii mbox" |
|
86 | echo "% fake ascii mbox" | |
71 | hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox |
|
87 | hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox | |
72 | fixheaders < mbox > mboxfix |
|
88 | fixheaders < mbox > mboxfix | |
73 | echo "% md5sum of 8-bit output" |
|
89 | echo "% md5sum of 8-bit output" | |
74 | $TESTDIR/md5sum.py mboxfix |
|
90 | $TESTDIR/md5sum.py mboxfix | |
75 |
|
91 | |||
76 | echo "% test diffstat for single patch" |
|
92 | echo "% test diffstat for single patch" | |
77 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y 2 | \ |
|
93 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y 2 | \ | |
78 | fixheaders |
|
94 | fixheaders | |
79 |
|
95 | |||
80 | echo "% test diffstat for multiple patches" |
|
96 | echo "% test diffstat for multiple patches" | |
81 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y 0:1 | \ |
|
97 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y 0:1 | \ | |
82 | fixheaders |
|
98 | fixheaders | |
83 |
|
99 | |||
84 | echo "% test inline for single patch" |
|
100 | 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 |
|
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 |
|
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 | \ | |
102 | fixheaders |
|
126 | fixheaders | |
103 |
|
127 | |||
104 | echo "% test intro for multiple patches" |
|
128 | echo "% test intro for multiple patches" | |
105 | hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test 0:1 | \ |
|
129 | hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test 0:1 | \ | |
106 | fixheaders |
|
130 | fixheaders | |
107 |
|
131 | |||
108 | echo "% tagging csets" |
|
132 | echo "% tagging csets" | |
109 | hg tag -r0 zero zero.foo |
|
133 | hg tag -r0 zero zero.foo | |
110 | hg tag -r1 one one.patch |
|
134 | hg tag -r1 one one.patch | |
111 | hg tag -r2 two two.diff |
|
135 | hg tag -r2 two two.diff | |
112 |
|
136 | |||
113 | echo "% test inline for single named patch" |
|
137 | echo "% test inline for single named patch" | |
114 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 2 | \ |
|
138 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 2 | \ | |
115 | fixheaders |
|
139 | fixheaders | |
116 |
|
140 | |||
117 | echo "% test inline for multiple named/unnamed patches" |
|
141 | echo "% test inline for multiple named/unnamed patches" | |
118 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 0:1 | \ |
|
142 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 0:1 | \ | |
119 | fixheaders |
|
143 | fixheaders | |
120 |
|
144 | |||
121 | echo "% test inreplyto" |
|
145 | echo "% test inreplyto" | |
122 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz tip | \ |
|
146 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz tip | \ | |
123 | fixheaders |
|
147 | fixheaders |
@@ -1,902 +1,1179 b'' | |||||
1 | adding a |
|
1 | adding a | |
2 | This patch series consists of 1 patches. |
|
2 | This patch series consists of 1 patches. | |
3 |
|
3 | |||
4 |
|
4 | |||
5 | Displaying [PATCH] a ... |
|
5 | Displaying [PATCH] a ... | |
6 | Content-Type: text/plain; charset="us-ascii" |
|
6 | Content-Type: text/plain; charset="us-ascii" | |
7 | MIME-Version: 1.0 |
|
7 | MIME-Version: 1.0 | |
8 | Content-Transfer-Encoding: 7bit |
|
8 | Content-Transfer-Encoding: 7bit | |
9 | Subject: [PATCH] a |
|
9 | Subject: [PATCH] a | |
10 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
10 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
11 | Message-Id: <8580ff50825a50c8f716.60@ |
|
11 | Message-Id: <8580ff50825a50c8f716.60@ | |
12 | User-Agent: Mercurial-patchbomb |
|
12 | User-Agent: Mercurial-patchbomb | |
13 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
13 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
14 | From: quux |
|
14 | From: quux | |
15 | To: foo |
|
15 | To: foo | |
16 | Cc: bar |
|
16 | Cc: bar | |
17 |
|
17 | |||
18 | # HG changeset patch |
|
18 | # HG changeset patch | |
19 | # User test |
|
19 | # User test | |
20 | # Date 1 0 |
|
20 | # Date 1 0 | |
21 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
21 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
22 | # Parent 0000000000000000000000000000000000000000 |
|
22 | # Parent 0000000000000000000000000000000000000000 | |
23 | a |
|
23 | a | |
24 |
|
24 | |||
25 | diff -r 000000000000 -r 8580ff50825a a |
|
25 | diff -r 000000000000 -r 8580ff50825a a | |
26 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
26 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
27 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
27 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
28 | @@ -0,0 +1,1 @@ |
|
28 | @@ -0,0 +1,1 @@ | |
29 | +a |
|
29 | +a | |
30 |
|
30 | |||
31 | adding b |
|
31 | adding b | |
32 | This patch series consists of 2 patches. |
|
32 | This patch series consists of 2 patches. | |
33 |
|
33 | |||
34 |
|
34 | |||
35 | Write the introductory message for the patch series. |
|
35 | Write the introductory message for the patch series. | |
36 |
|
36 | |||
37 |
|
37 | |||
38 | Displaying [PATCH 0 of 2] test ... |
|
38 | Displaying [PATCH 0 of 2] test ... | |
39 | Content-Type: text/plain; charset="us-ascii" |
|
39 | Content-Type: text/plain; charset="us-ascii" | |
40 | MIME-Version: 1.0 |
|
40 | MIME-Version: 1.0 | |
41 | Content-Transfer-Encoding: 7bit |
|
41 | Content-Transfer-Encoding: 7bit | |
42 | Subject: [PATCH 0 of 2] test |
|
42 | Subject: [PATCH 0 of 2] test | |
43 | Message-Id: <patchbomb.120@ |
|
43 | Message-Id: <patchbomb.120@ | |
44 | User-Agent: Mercurial-patchbomb |
|
44 | User-Agent: Mercurial-patchbomb | |
45 | Date: Thu, 01 Jan 1970 00:02:00 +0000 |
|
45 | Date: Thu, 01 Jan 1970 00:02:00 +0000 | |
46 | From: quux |
|
46 | From: quux | |
47 | To: foo |
|
47 | To: foo | |
48 | Cc: bar |
|
48 | Cc: bar | |
49 |
|
49 | |||
50 |
|
50 | |||
51 | Displaying [PATCH 1 of 2] a ... |
|
51 | Displaying [PATCH 1 of 2] a ... | |
52 | Content-Type: text/plain; charset="us-ascii" |
|
52 | Content-Type: text/plain; charset="us-ascii" | |
53 | MIME-Version: 1.0 |
|
53 | MIME-Version: 1.0 | |
54 | Content-Transfer-Encoding: 7bit |
|
54 | Content-Transfer-Encoding: 7bit | |
55 | Subject: [PATCH 1 of 2] a |
|
55 | Subject: [PATCH 1 of 2] a | |
56 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
56 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
57 | Message-Id: <8580ff50825a50c8f716.121@ |
|
57 | Message-Id: <8580ff50825a50c8f716.121@ | |
58 | In-Reply-To: <patchbomb.120@ |
|
58 | In-Reply-To: <patchbomb.120@ | |
59 | References: <patchbomb.120@ |
|
59 | References: <patchbomb.120@ | |
60 | User-Agent: Mercurial-patchbomb |
|
60 | User-Agent: Mercurial-patchbomb | |
61 | Date: Thu, 01 Jan 1970 00:02:01 +0000 |
|
61 | Date: Thu, 01 Jan 1970 00:02:01 +0000 | |
62 | From: quux |
|
62 | From: quux | |
63 | To: foo |
|
63 | To: foo | |
64 | Cc: bar |
|
64 | Cc: bar | |
65 |
|
65 | |||
66 | # HG changeset patch |
|
66 | # HG changeset patch | |
67 | # User test |
|
67 | # User test | |
68 | # Date 1 0 |
|
68 | # Date 1 0 | |
69 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
69 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
70 | # Parent 0000000000000000000000000000000000000000 |
|
70 | # Parent 0000000000000000000000000000000000000000 | |
71 | a |
|
71 | a | |
72 |
|
72 | |||
73 | diff -r 000000000000 -r 8580ff50825a a |
|
73 | diff -r 000000000000 -r 8580ff50825a a | |
74 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
74 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
75 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
75 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
76 | @@ -0,0 +1,1 @@ |
|
76 | @@ -0,0 +1,1 @@ | |
77 | +a |
|
77 | +a | |
78 |
|
78 | |||
79 | Displaying [PATCH 2 of 2] b ... |
|
79 | Displaying [PATCH 2 of 2] b ... | |
80 | Content-Type: text/plain; charset="us-ascii" |
|
80 | Content-Type: text/plain; charset="us-ascii" | |
81 | MIME-Version: 1.0 |
|
81 | MIME-Version: 1.0 | |
82 | Content-Transfer-Encoding: 7bit |
|
82 | Content-Transfer-Encoding: 7bit | |
83 | Subject: [PATCH 2 of 2] b |
|
83 | Subject: [PATCH 2 of 2] b | |
84 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
84 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
85 | Message-Id: <97d72e5f12c7e84f8506.122@ |
|
85 | Message-Id: <97d72e5f12c7e84f8506.122@ | |
86 | In-Reply-To: <patchbomb.120@ |
|
86 | In-Reply-To: <patchbomb.120@ | |
87 | References: <patchbomb.120@ |
|
87 | References: <patchbomb.120@ | |
88 | User-Agent: Mercurial-patchbomb |
|
88 | User-Agent: Mercurial-patchbomb | |
89 | Date: Thu, 01 Jan 1970 00:02:02 +0000 |
|
89 | Date: Thu, 01 Jan 1970 00:02:02 +0000 | |
90 | From: quux |
|
90 | From: quux | |
91 | To: foo |
|
91 | To: foo | |
92 | Cc: bar |
|
92 | Cc: bar | |
93 |
|
93 | |||
94 | # HG changeset patch |
|
94 | # HG changeset patch | |
95 | # User test |
|
95 | # User test | |
96 | # Date 2 0 |
|
96 | # Date 2 0 | |
97 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
97 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
98 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
98 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
99 | b |
|
99 | b | |
100 |
|
100 | |||
101 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
101 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
102 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
102 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
103 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
103 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
104 | @@ -0,0 +1,1 @@ |
|
104 | @@ -0,0 +1,1 @@ | |
105 | +b |
|
105 | +b | |
106 |
|
106 | |||
107 | This patch series consists of 2 patches. |
|
107 | This patch series consists of 2 patches. | |
108 |
|
108 | |||
109 |
|
109 | |||
110 | Write the introductory message for the patch series. |
|
110 | Write the introductory message for the patch series. | |
111 |
|
111 | |||
112 |
|
112 | |||
113 | Writing [PATCH 0 of 2] test ... |
|
113 | Writing [PATCH 0 of 2] test ... | |
114 | Writing [PATCH 1 of 2] a ... |
|
114 | Writing [PATCH 1 of 2] a ... | |
115 | Writing [PATCH 2 of 2] b ... |
|
115 | Writing [PATCH 2 of 2] b ... | |
116 | adding c |
|
116 | adding c | |
117 | % test bundle and description |
|
117 | % test bundle and description | |
118 | searching for changes |
|
118 | searching for changes | |
119 | 1 changesets found |
|
119 | 1 changesets found | |
120 |
|
120 | |||
121 | Displaying test ... |
|
121 | Displaying test ... | |
122 | Content-Type: multipart/mixed; boundary="=== |
|
122 | Content-Type: multipart/mixed; boundary="=== | |
123 | MIME-Version: 1.0 |
|
123 | MIME-Version: 1.0 | |
124 | Subject: test |
|
124 | Subject: test | |
125 | Message-Id: <patchbomb.180@ |
|
125 | Message-Id: <patchbomb.180@ | |
126 | User-Agent: Mercurial-patchbomb |
|
126 | User-Agent: Mercurial-patchbomb | |
127 | Date: Thu, 01 Jan 1970 00:03:00 +0000 |
|
127 | Date: Thu, 01 Jan 1970 00:03:00 +0000 | |
128 | From: quux |
|
128 | From: quux | |
129 | To: foo |
|
129 | To: foo | |
130 | Cc: bar |
|
130 | Cc: bar | |
131 |
|
131 | |||
132 | --=== |
|
132 | --=== | |
133 | Content-Type: text/plain; charset="us-ascii" |
|
133 | Content-Type: text/plain; charset="us-ascii" | |
134 | MIME-Version: 1.0 |
|
134 | MIME-Version: 1.0 | |
135 | Content-Transfer-Encoding: 7bit |
|
135 | Content-Transfer-Encoding: 7bit | |
136 |
|
136 | |||
137 | a multiline |
|
137 | a multiline | |
138 |
|
138 | |||
139 | description |
|
139 | description | |
140 |
|
140 | |||
141 | --=== |
|
141 | --=== | |
142 | Content-Type: application/x-mercurial-bundle |
|
142 | Content-Type: application/x-mercurial-bundle | |
143 | MIME-Version: 1.0 |
|
143 | MIME-Version: 1.0 | |
144 | Content-Disposition: attachment; filename="bundle.hg" |
|
144 | Content-Disposition: attachment; filename="bundle.hg" | |
145 | Content-Transfer-Encoding: base64 |
|
145 | Content-Transfer-Encoding: base64 | |
146 |
|
146 | |||
147 | SEcxMEJaaDkxQVkmU1nvR7I3AAAN////lFYQWj1/4HwRkdC/AywIAk0E4pfoSIIIgQCgGEQOcLAA |
|
147 | SEcxMEJaaDkxQVkmU1nvR7I3AAAN////lFYQWj1/4HwRkdC/AywIAk0E4pfoSIIIgQCgGEQOcLAA | |
148 | 2tA1VPyp4mkeoG0EaaPU0GTT1GjRiNPIg9CZGBqZ6UbU9J+KFU09DNUaGgAAAAAANAGgAAAAA1U8 |
|
148 | 2tA1VPyp4mkeoG0EaaPU0GTT1GjRiNPIg9CZGBqZ6UbU9J+KFU09DNUaGgAAAAAANAGgAAAAA1U8 | |
149 | oGgAADQGgAANNANAAAAAAZipFLz3XoakCEQB3PVPyHJVi1iYkAAKQAZQGpQGZESInRnCFMqLDla2 |
|
149 | oGgAADQGgAANNANAAAAAAZipFLz3XoakCEQB3PVPyHJVi1iYkAAKQAZQGpQGZESInRnCFMqLDla2 | |
150 | Bx3qfRQeA2N4lnzKkAmP8kR2asievLLXXebVU8Vg4iEBqcJNJAxIapSU6SM4888ZAciRG6MYAIEE |
|
150 | Bx3qfRQeA2N4lnzKkAmP8kR2asievLLXXebVU8Vg4iEBqcJNJAxIapSU6SM4888ZAciRG6MYAIEE | |
151 | SlIBpFisgGkyRjX//TMtfcUAEsGu56+YnE1OlTZmzKm8BSu2rvo4rHAYYaadIFFuTy0LYgIkgLVD |
|
151 | SlIBpFisgGkyRjX//TMtfcUAEsGu56+YnE1OlTZmzKm8BSu2rvo4rHAYYaadIFFuTy0LYgIkgLVD | |
152 | sgVa2F19D1tx9+hgbAygLgQwaIqcDdgA4BjQgIiz/AEP72++llgDKhKducqodGE4B0ETqF3JFOFC |
|
152 | sgVa2F19D1tx9+hgbAygLgQwaIqcDdgA4BjQgIiz/AEP72++llgDKhKducqodGE4B0ETqF3JFOFC | |
153 | Q70eyNw= |
|
153 | Q70eyNw= | |
154 | --=== |
|
154 | --=== | |
155 | % utf-8 patch |
|
155 | % utf-8 patch | |
156 | adding description |
|
156 | adding description | |
157 | adding utf |
|
157 | 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 | |||
165 | Writing [PATCH] charset=utf-8; content-transfer-encoding: base64 ... |
|
165 | Writing [PATCH] charset=utf-8; content-transfer-encoding: base64 ... | |
166 | From quux Thu Jan 01 00:04:01 1970 |
|
166 | From quux Thu Jan 01 00:04:01 1970 | |
167 | Content-Type: text/plain; charset="utf-8" |
|
167 | Content-Type: text/plain; charset="utf-8" | |
168 | MIME-Version: 1.0 |
|
168 | MIME-Version: 1.0 | |
169 | Content-Transfer-Encoding: base64 |
|
169 | Content-Transfer-Encoding: base64 | |
170 | Subject: [PATCH] charset=utf-8; content-transfer-encoding: base64 |
|
170 | Subject: [PATCH] charset=utf-8; content-transfer-encoding: base64 | |
171 | X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a |
|
171 | X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a | |
172 | Message-Id: <c3c9e37db9f4fe4882cd.240@ |
|
172 | Message-Id: <c3c9e37db9f4fe4882cd.240@ | |
173 | User-Agent: Mercurial-patchbomb |
|
173 | User-Agent: Mercurial-patchbomb | |
174 | Date: Thu, 01 Jan 1970 00:04:00 +0000 |
|
174 | Date: Thu, 01 Jan 1970 00:04:00 +0000 | |
175 | From: quux |
|
175 | From: quux | |
176 | To: foo |
|
176 | To: foo | |
177 | Cc: bar |
|
177 | Cc: bar | |
178 |
|
178 | |||
179 | IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHRlc3QKIyBEYXRlIDQgMAojIE5vZGUgSUQgYzNj |
|
179 | IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHRlc3QKIyBEYXRlIDQgMAojIE5vZGUgSUQgYzNj | |
180 | OWUzN2RiOWY0ZmU0ODgyY2RhMzliYWY0MmZlZDZiYWQ4YjE1YQojIFBhcmVudCAgZmYyYzlmYTIw |
|
180 | OWUzN2RiOWY0ZmU0ODgyY2RhMzliYWY0MmZlZDZiYWQ4YjE1YQojIFBhcmVudCAgZmYyYzlmYTIw | |
181 | MThiMTVmYTc0YjMzMzYzYmRhOTUyNzMyM2UyYTk5ZgpjaGFyc2V0PXV0Zi04OyBjb250ZW50LXRy |
|
181 | MThiMTVmYTc0YjMzMzYzYmRhOTUyNzMyM2UyYTk5ZgpjaGFyc2V0PXV0Zi04OyBjb250ZW50LXRy | |
182 | YW5zZmVyLWVuY29kaW5nOiBiYXNlNjQKCmRpZmYgLXIgZmYyYzlmYTIwMThiIC1yIGMzYzllMzdk |
|
182 | YW5zZmVyLWVuY29kaW5nOiBiYXNlNjQKCmRpZmYgLXIgZmYyYzlmYTIwMThiIC1yIGMzYzllMzdk | |
183 | YjlmNCBkZXNjcmlwdGlvbgotLS0gL2Rldi9udWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCAr |
|
183 | YjlmNCBkZXNjcmlwdGlvbgotLS0gL2Rldi9udWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCAr | |
184 | MDAwMAorKysgYi9kZXNjcmlwdGlvbglUaHUgSmFuIDAxIDAwOjAwOjA0IDE5NzAgKzAwMDAKQEAg |
|
184 | MDAwMAorKysgYi9kZXNjcmlwdGlvbglUaHUgSmFuIDAxIDAwOjAwOjA0IDE5NzAgKzAwMDAKQEAg | |
185 | LTAsMCArMSwzIEBACithIG11bHRpbGluZQorCitkZXNjcmlwdGlvbgpkaWZmIC1yIGZmMmM5ZmEy |
|
185 | LTAsMCArMSwzIEBACithIG11bHRpbGluZQorCitkZXNjcmlwdGlvbgpkaWZmIC1yIGZmMmM5ZmEy | |
186 | MDE4YiAtciBjM2M5ZTM3ZGI5ZjQgdXRmCi0tLSAvZGV2L251bGwJVGh1IEphbiAwMSAwMDowMDow |
|
186 | MDE4YiAtciBjM2M5ZTM3ZGI5ZjQgdXRmCi0tLSAvZGV2L251bGwJVGh1IEphbiAwMSAwMDowMDow | |
187 | MCAxOTcwICswMDAwCisrKyBiL3V0ZglUaHUgSmFuIDAxIDAwOjAwOjA0IDE5NzAgKzAwMDAKQEAg |
|
187 | MCAxOTcwICswMDAwCisrKyBiL3V0ZglUaHUgSmFuIDAxIDAwOjAwOjA0IDE5NzAgKzAwMDAKQEAg | |
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 | |
194 | This patch series consists of 1 patches. |
|
247 | This patch series consists of 1 patches. | |
195 |
|
248 | |||
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 | |||
203 | c |
|
256 | c | |
204 |
|
257 | |||
205 | c | 1 + |
|
258 | c | 1 + | |
206 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
259 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
207 |
|
260 | |||
208 |
|
261 | |||
209 | Displaying [PATCH] test ... |
|
262 | Displaying [PATCH] test ... | |
210 | Content-Type: text/plain; charset="us-ascii" |
|
263 | Content-Type: text/plain; charset="us-ascii" | |
211 | MIME-Version: 1.0 |
|
264 | MIME-Version: 1.0 | |
212 | Content-Transfer-Encoding: 7bit |
|
265 | Content-Transfer-Encoding: 7bit | |
213 | Subject: [PATCH] test |
|
266 | Subject: [PATCH] test | |
214 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
267 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
215 | Message-Id: <ff2c9fa2018b15fa74b3.60@ |
|
268 | Message-Id: <ff2c9fa2018b15fa74b3.60@ | |
216 | User-Agent: Mercurial-patchbomb |
|
269 | User-Agent: Mercurial-patchbomb | |
217 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
270 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
218 | From: quux |
|
271 | From: quux | |
219 | To: foo |
|
272 | To: foo | |
220 | Cc: bar |
|
273 | Cc: bar | |
221 |
|
274 | |||
222 | c | 1 + |
|
275 | c | 1 + | |
223 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
276 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
224 |
|
277 | |||
225 |
|
278 | |||
226 | # HG changeset patch |
|
279 | # HG changeset patch | |
227 | # User test |
|
280 | # User test | |
228 | # Date 3 0 |
|
281 | # Date 3 0 | |
229 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
282 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
230 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
283 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
231 | c |
|
284 | c | |
232 |
|
285 | |||
233 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
286 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
234 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
287 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
235 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
288 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
236 | @@ -0,0 +1,1 @@ |
|
289 | @@ -0,0 +1,1 @@ | |
237 | +c |
|
290 | +c | |
238 |
|
291 | |||
239 | % test diffstat for multiple patches |
|
292 | % test diffstat for multiple patches | |
240 | This patch series consists of 2 patches. |
|
293 | This patch series consists of 2 patches. | |
241 |
|
294 | |||
242 | a |
|
295 | a | |
243 |
|
296 | |||
244 | a | 1 + |
|
297 | a | 1 + | |
245 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
298 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
246 |
|
299 | |||
247 | b |
|
300 | b | |
248 |
|
301 | |||
249 | b | 1 + |
|
302 | b | 1 + | |
250 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
303 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
251 |
|
304 | |||
252 | Final summary: |
|
305 | Final summary: | |
253 |
|
306 | |||
254 | a | 1 + |
|
307 | a | 1 + | |
255 | b | 1 + |
|
308 | b | 1 + | |
256 | 2 files changed, 2 insertions(+), 0 deletions(-) |
|
309 | 2 files changed, 2 insertions(+), 0 deletions(-) | |
257 |
|
310 | |||
258 |
|
311 | |||
259 | Write the introductory message for the patch series. |
|
312 | Write the introductory message for the patch series. | |
260 |
|
313 | |||
261 |
|
314 | |||
262 | Displaying [PATCH 0 of 2] test ... |
|
315 | Displaying [PATCH 0 of 2] test ... | |
263 | Content-Type: text/plain; charset="us-ascii" |
|
316 | Content-Type: text/plain; charset="us-ascii" | |
264 | MIME-Version: 1.0 |
|
317 | MIME-Version: 1.0 | |
265 | Content-Transfer-Encoding: 7bit |
|
318 | Content-Transfer-Encoding: 7bit | |
266 | Subject: [PATCH 0 of 2] test |
|
319 | Subject: [PATCH 0 of 2] test | |
267 | Message-Id: <patchbomb.60@ |
|
320 | Message-Id: <patchbomb.60@ | |
268 | User-Agent: Mercurial-patchbomb |
|
321 | User-Agent: Mercurial-patchbomb | |
269 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
322 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
270 | From: quux |
|
323 | From: quux | |
271 | To: foo |
|
324 | To: foo | |
272 | Cc: bar |
|
325 | Cc: bar | |
273 |
|
326 | |||
274 |
|
327 | |||
275 | a | 1 + |
|
328 | a | 1 + | |
276 | b | 1 + |
|
329 | b | 1 + | |
277 | 2 files changed, 2 insertions(+), 0 deletions(-) |
|
330 | 2 files changed, 2 insertions(+), 0 deletions(-) | |
278 |
|
331 | |||
279 | Displaying [PATCH 1 of 2] a ... |
|
332 | Displaying [PATCH 1 of 2] a ... | |
280 | Content-Type: text/plain; charset="us-ascii" |
|
333 | Content-Type: text/plain; charset="us-ascii" | |
281 | MIME-Version: 1.0 |
|
334 | MIME-Version: 1.0 | |
282 | Content-Transfer-Encoding: 7bit |
|
335 | Content-Transfer-Encoding: 7bit | |
283 | Subject: [PATCH 1 of 2] a |
|
336 | Subject: [PATCH 1 of 2] a | |
284 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
337 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
285 | Message-Id: <8580ff50825a50c8f716.61@ |
|
338 | Message-Id: <8580ff50825a50c8f716.61@ | |
286 | In-Reply-To: <patchbomb.60@ |
|
339 | In-Reply-To: <patchbomb.60@ | |
287 | References: <patchbomb.60@ |
|
340 | References: <patchbomb.60@ | |
288 | User-Agent: Mercurial-patchbomb |
|
341 | User-Agent: Mercurial-patchbomb | |
289 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
342 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
290 | From: quux |
|
343 | From: quux | |
291 | To: foo |
|
344 | To: foo | |
292 | Cc: bar |
|
345 | Cc: bar | |
293 |
|
346 | |||
294 | a | 1 + |
|
347 | a | 1 + | |
295 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
348 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
296 |
|
349 | |||
297 |
|
350 | |||
298 | # HG changeset patch |
|
351 | # HG changeset patch | |
299 | # User test |
|
352 | # User test | |
300 | # Date 1 0 |
|
353 | # Date 1 0 | |
301 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
354 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
302 | # Parent 0000000000000000000000000000000000000000 |
|
355 | # Parent 0000000000000000000000000000000000000000 | |
303 | a |
|
356 | a | |
304 |
|
357 | |||
305 | diff -r 000000000000 -r 8580ff50825a a |
|
358 | diff -r 000000000000 -r 8580ff50825a a | |
306 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
359 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
307 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
360 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
308 | @@ -0,0 +1,1 @@ |
|
361 | @@ -0,0 +1,1 @@ | |
309 | +a |
|
362 | +a | |
310 |
|
363 | |||
311 | Displaying [PATCH 2 of 2] b ... |
|
364 | Displaying [PATCH 2 of 2] b ... | |
312 | Content-Type: text/plain; charset="us-ascii" |
|
365 | Content-Type: text/plain; charset="us-ascii" | |
313 | MIME-Version: 1.0 |
|
366 | MIME-Version: 1.0 | |
314 | Content-Transfer-Encoding: 7bit |
|
367 | Content-Transfer-Encoding: 7bit | |
315 | Subject: [PATCH 2 of 2] b |
|
368 | Subject: [PATCH 2 of 2] b | |
316 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
369 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
317 | Message-Id: <97d72e5f12c7e84f8506.62@ |
|
370 | Message-Id: <97d72e5f12c7e84f8506.62@ | |
318 | In-Reply-To: <patchbomb.60@ |
|
371 | In-Reply-To: <patchbomb.60@ | |
319 | References: <patchbomb.60@ |
|
372 | References: <patchbomb.60@ | |
320 | User-Agent: Mercurial-patchbomb |
|
373 | User-Agent: Mercurial-patchbomb | |
321 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
374 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
322 | From: quux |
|
375 | From: quux | |
323 | To: foo |
|
376 | To: foo | |
324 | Cc: bar |
|
377 | Cc: bar | |
325 |
|
378 | |||
326 | b | 1 + |
|
379 | b | 1 + | |
327 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
380 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
328 |
|
381 | |||
329 |
|
382 | |||
330 | # HG changeset patch |
|
383 | # HG changeset patch | |
331 | # User test |
|
384 | # User test | |
332 | # Date 2 0 |
|
385 | # Date 2 0 | |
333 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
386 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
334 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
387 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
335 | b |
|
388 | b | |
336 |
|
389 | |||
337 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
390 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
338 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
391 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
339 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
392 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
340 | @@ -0,0 +1,1 @@ |
|
393 | @@ -0,0 +1,1 @@ | |
341 | +b |
|
394 | +b | |
342 |
|
395 | |||
343 | % test inline for single patch |
|
396 | % test inline for single patch | |
344 | This patch series consists of 1 patches. |
|
397 | This patch series consists of 1 patches. | |
345 |
|
398 | |||
346 |
|
399 | |||
347 | Displaying [PATCH] test ... |
|
400 | Displaying [PATCH] test ... | |
348 | Content-Type: multipart/mixed; boundary="=== |
|
401 | Content-Type: multipart/mixed; boundary="=== | |
349 | MIME-Version: 1.0 |
|
402 | MIME-Version: 1.0 | |
350 | Subject: [PATCH] test |
|
403 | Subject: [PATCH] test | |
351 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
404 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
352 | Message-Id: <ff2c9fa2018b15fa74b3.60@ |
|
405 | Message-Id: <ff2c9fa2018b15fa74b3.60@ | |
353 | User-Agent: Mercurial-patchbomb |
|
406 | User-Agent: Mercurial-patchbomb | |
354 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
407 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
355 | From: quux |
|
408 | From: quux | |
356 | To: foo |
|
409 | To: foo | |
357 | Cc: bar |
|
410 | Cc: bar | |
358 |
|
411 | |||
359 | --=== |
|
412 | --=== | |
360 | Content-Type: text/x-patch; charset="us-ascii" |
|
413 | Content-Type: text/x-patch; charset="us-ascii" | |
361 | MIME-Version: 1.0 |
|
414 | MIME-Version: 1.0 | |
362 | Content-Transfer-Encoding: 7bit |
|
415 | Content-Transfer-Encoding: 7bit | |
363 | Content-Disposition: inline; filename=t2.patch |
|
416 | Content-Disposition: inline; filename=t2.patch | |
364 |
|
417 | |||
365 | # HG changeset patch |
|
418 | # HG changeset patch | |
366 | # User test |
|
419 | # User test | |
367 | # Date 3 0 |
|
420 | # Date 3 0 | |
368 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
421 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
369 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
422 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
370 | c |
|
423 | c | |
371 |
|
424 | |||
372 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
425 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
373 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
426 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
374 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
427 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
375 | @@ -0,0 +1,1 @@ |
|
428 | @@ -0,0 +1,1 @@ | |
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 |
|
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 |
|
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 |
|
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 | |
394 | From: quux |
|
499 | From: quux | |
395 | To: foo |
|
500 | To: foo | |
396 | Cc: bar |
|
501 | Cc: bar | |
397 |
|
502 | |||
398 |
|
503 | |||
399 |
Displaying [PATCH 1 of |
|
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 |
|
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@ | |
406 | References: <patchbomb.60@ |
|
511 | References: <patchbomb.60@ | |
407 | User-Agent: Mercurial-patchbomb |
|
512 | User-Agent: Mercurial-patchbomb | |
408 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
513 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
409 | From: quux |
|
514 | From: quux | |
410 | To: foo |
|
515 | To: foo | |
411 | Cc: bar |
|
516 | Cc: bar | |
412 |
|
517 | |||
413 | --=== |
|
518 | --=== | |
414 | Content-Type: text/x-patch; charset="us-ascii" |
|
519 | Content-Type: text/x-patch; charset="us-ascii" | |
415 | MIME-Version: 1.0 |
|
520 | MIME-Version: 1.0 | |
416 | Content-Transfer-Encoding: 7bit |
|
521 | Content-Transfer-Encoding: 7bit | |
417 | Content-Disposition: inline; filename=t2-1.patch |
|
522 | Content-Disposition: inline; filename=t2-1.patch | |
418 |
|
523 | |||
419 | # HG changeset patch |
|
524 | # HG changeset patch | |
420 | # User test |
|
525 | # User test | |
421 | # Date 1 0 |
|
526 | # Date 1 0 | |
422 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
527 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
423 | # Parent 0000000000000000000000000000000000000000 |
|
528 | # Parent 0000000000000000000000000000000000000000 | |
424 | a |
|
529 | a | |
425 |
|
530 | |||
426 | diff -r 000000000000 -r 8580ff50825a a |
|
531 | diff -r 000000000000 -r 8580ff50825a a | |
427 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
532 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
428 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
533 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
429 | @@ -0,0 +1,1 @@ |
|
534 | @@ -0,0 +1,1 @@ | |
430 | +a |
|
535 | +a | |
431 |
|
536 | |||
432 | --=== |
|
537 | --=== | |
433 |
Displaying [PATCH 2 of |
|
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 |
|
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@ | |
440 | References: <patchbomb.60@ |
|
545 | References: <patchbomb.60@ | |
441 | User-Agent: Mercurial-patchbomb |
|
546 | User-Agent: Mercurial-patchbomb | |
442 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
547 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
443 | From: quux |
|
548 | From: quux | |
444 | To: foo |
|
549 | To: foo | |
445 | Cc: bar |
|
550 | Cc: bar | |
446 |
|
551 | |||
447 | --=== |
|
552 | --=== | |
448 | Content-Type: text/x-patch; charset="us-ascii" |
|
553 | Content-Type: text/x-patch; charset="us-ascii" | |
449 | MIME-Version: 1.0 |
|
554 | MIME-Version: 1.0 | |
450 | Content-Transfer-Encoding: 7bit |
|
555 | Content-Transfer-Encoding: 7bit | |
451 | Content-Disposition: inline; filename=t2-2.patch |
|
556 | Content-Disposition: inline; filename=t2-2.patch | |
452 |
|
557 | |||
453 | # HG changeset patch |
|
558 | # HG changeset patch | |
454 | # User test |
|
559 | # User test | |
455 | # Date 2 0 |
|
560 | # Date 2 0 | |
456 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
561 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
457 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
562 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
458 | b |
|
563 | b | |
459 |
|
564 | |||
460 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
565 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
461 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
566 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
462 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
567 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
463 | @@ -0,0 +1,1 @@ |
|
568 | @@ -0,0 +1,1 @@ | |
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 | |||
470 |
|
626 | |||
471 | Displaying [PATCH] test ... |
|
627 | Displaying [PATCH] test ... | |
472 | Content-Type: multipart/mixed; boundary="=== |
|
628 | Content-Type: multipart/mixed; boundary="=== | |
473 | MIME-Version: 1.0 |
|
629 | MIME-Version: 1.0 | |
474 | Subject: [PATCH] test |
|
630 | Subject: [PATCH] test | |
475 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
631 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
476 | Message-Id: <ff2c9fa2018b15fa74b3.60@ |
|
632 | Message-Id: <ff2c9fa2018b15fa74b3.60@ | |
477 | User-Agent: Mercurial-patchbomb |
|
633 | User-Agent: Mercurial-patchbomb | |
478 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
634 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
479 | From: quux |
|
635 | From: quux | |
480 | To: foo |
|
636 | To: foo | |
481 | Cc: bar |
|
637 | Cc: bar | |
482 |
|
638 | |||
483 | --=== |
|
639 | --=== | |
484 | Content-Type: text/plain; charset="us-ascii" |
|
640 | Content-Type: text/plain; charset="us-ascii" | |
485 | MIME-Version: 1.0 |
|
641 | MIME-Version: 1.0 | |
486 | Content-Transfer-Encoding: 7bit |
|
642 | Content-Transfer-Encoding: 7bit | |
487 |
|
643 | |||
488 | Patch subject is complete summary. |
|
644 | Patch subject is complete summary. | |
489 |
|
645 | |||
490 |
|
646 | |||
491 |
|
647 | |||
492 | --=== |
|
648 | --=== | |
493 | Content-Type: text/x-patch; charset="us-ascii" |
|
649 | Content-Type: text/x-patch; charset="us-ascii" | |
494 | MIME-Version: 1.0 |
|
650 | MIME-Version: 1.0 | |
495 | Content-Transfer-Encoding: 7bit |
|
651 | Content-Transfer-Encoding: 7bit | |
496 | Content-Disposition: attachment; filename=t2.patch |
|
652 | Content-Disposition: attachment; filename=t2.patch | |
497 |
|
653 | |||
498 | # HG changeset patch |
|
654 | # HG changeset patch | |
499 | # User test |
|
655 | # User test | |
500 | # Date 3 0 |
|
656 | # Date 3 0 | |
501 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
657 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
502 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
658 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
503 | c |
|
659 | c | |
504 |
|
660 | |||
505 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
661 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
506 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
662 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
507 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
663 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
508 | @@ -0,0 +1,1 @@ |
|
664 | @@ -0,0 +1,1 @@ | |
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 |
|
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 |
|
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 |
|
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 | |
527 | From: quux |
|
744 | From: quux | |
528 | To: foo |
|
745 | To: foo | |
529 | Cc: bar |
|
746 | Cc: bar | |
530 |
|
747 | |||
531 |
|
748 | |||
532 |
Displaying [PATCH 1 of |
|
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 |
|
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@ | |
539 | References: <patchbomb.60@ |
|
756 | References: <patchbomb.60@ | |
540 | User-Agent: Mercurial-patchbomb |
|
757 | User-Agent: Mercurial-patchbomb | |
541 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
758 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
542 | From: quux |
|
759 | From: quux | |
543 | To: foo |
|
760 | To: foo | |
544 | Cc: bar |
|
761 | Cc: bar | |
545 |
|
762 | |||
546 | --=== |
|
763 | --=== | |
547 | Content-Type: text/plain; charset="us-ascii" |
|
764 | Content-Type: text/plain; charset="us-ascii" | |
548 | MIME-Version: 1.0 |
|
765 | MIME-Version: 1.0 | |
549 | Content-Transfer-Encoding: 7bit |
|
766 | Content-Transfer-Encoding: 7bit | |
550 |
|
767 | |||
551 | Patch subject is complete summary. |
|
768 | Patch subject is complete summary. | |
552 |
|
769 | |||
553 |
|
770 | |||
554 |
|
771 | |||
555 | --=== |
|
772 | --=== | |
556 | Content-Type: text/x-patch; charset="us-ascii" |
|
773 | Content-Type: text/x-patch; charset="us-ascii" | |
557 | MIME-Version: 1.0 |
|
774 | MIME-Version: 1.0 | |
558 | Content-Transfer-Encoding: 7bit |
|
775 | Content-Transfer-Encoding: 7bit | |
559 | Content-Disposition: attachment; filename=t2-1.patch |
|
776 | Content-Disposition: attachment; filename=t2-1.patch | |
560 |
|
777 | |||
561 | # HG changeset patch |
|
778 | # HG changeset patch | |
562 | # User test |
|
779 | # User test | |
563 | # Date 1 0 |
|
780 | # Date 1 0 | |
564 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
781 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
565 | # Parent 0000000000000000000000000000000000000000 |
|
782 | # Parent 0000000000000000000000000000000000000000 | |
566 | a |
|
783 | a | |
567 |
|
784 | |||
568 | diff -r 000000000000 -r 8580ff50825a a |
|
785 | diff -r 000000000000 -r 8580ff50825a a | |
569 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
786 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
570 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
787 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
571 | @@ -0,0 +1,1 @@ |
|
788 | @@ -0,0 +1,1 @@ | |
572 | +a |
|
789 | +a | |
573 |
|
790 | |||
574 | --=== |
|
791 | --=== | |
575 |
Displaying [PATCH 2 of |
|
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 |
|
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@ | |
582 | References: <patchbomb.60@ |
|
799 | References: <patchbomb.60@ | |
583 | User-Agent: Mercurial-patchbomb |
|
800 | User-Agent: Mercurial-patchbomb | |
584 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
801 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
585 | From: quux |
|
802 | From: quux | |
586 | To: foo |
|
803 | To: foo | |
587 | Cc: bar |
|
804 | Cc: bar | |
588 |
|
805 | |||
589 | --=== |
|
806 | --=== | |
590 | Content-Type: text/plain; charset="us-ascii" |
|
807 | Content-Type: text/plain; charset="us-ascii" | |
591 | MIME-Version: 1.0 |
|
808 | MIME-Version: 1.0 | |
592 | Content-Transfer-Encoding: 7bit |
|
809 | Content-Transfer-Encoding: 7bit | |
593 |
|
810 | |||
594 | Patch subject is complete summary. |
|
811 | Patch subject is complete summary. | |
595 |
|
812 | |||
596 |
|
813 | |||
597 |
|
814 | |||
598 | --=== |
|
815 | --=== | |
599 | Content-Type: text/x-patch; charset="us-ascii" |
|
816 | Content-Type: text/x-patch; charset="us-ascii" | |
600 | MIME-Version: 1.0 |
|
817 | MIME-Version: 1.0 | |
601 | Content-Transfer-Encoding: 7bit |
|
818 | Content-Transfer-Encoding: 7bit | |
602 | Content-Disposition: attachment; filename=t2-2.patch |
|
819 | Content-Disposition: attachment; filename=t2-2.patch | |
603 |
|
820 | |||
604 | # HG changeset patch |
|
821 | # HG changeset patch | |
605 | # User test |
|
822 | # User test | |
606 | # Date 2 0 |
|
823 | # Date 2 0 | |
607 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
824 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
608 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
825 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
609 | b |
|
826 | b | |
610 |
|
827 | |||
611 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
828 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
612 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
829 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
613 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
830 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
614 | @@ -0,0 +1,1 @@ |
|
831 | @@ -0,0 +1,1 @@ | |
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 | |||
621 |
|
898 | |||
622 | Write the introductory message for the patch series. |
|
899 | Write the introductory message for the patch series. | |
623 |
|
900 | |||
624 |
|
901 | |||
625 | Displaying [PATCH 0 of 1] test ... |
|
902 | Displaying [PATCH 0 of 1] test ... | |
626 | Content-Type: text/plain; charset="us-ascii" |
|
903 | Content-Type: text/plain; charset="us-ascii" | |
627 | MIME-Version: 1.0 |
|
904 | MIME-Version: 1.0 | |
628 | Content-Transfer-Encoding: 7bit |
|
905 | Content-Transfer-Encoding: 7bit | |
629 | Subject: [PATCH 0 of 1] test |
|
906 | Subject: [PATCH 0 of 1] test | |
630 | Message-Id: <patchbomb.60@ |
|
907 | Message-Id: <patchbomb.60@ | |
631 | User-Agent: Mercurial-patchbomb |
|
908 | User-Agent: Mercurial-patchbomb | |
632 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
909 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
633 | From: quux |
|
910 | From: quux | |
634 | To: foo |
|
911 | To: foo | |
635 | Cc: bar |
|
912 | Cc: bar | |
636 |
|
913 | |||
637 |
|
914 | |||
638 | Displaying [PATCH 1 of 1] c ... |
|
915 | Displaying [PATCH 1 of 1] c ... | |
639 | Content-Type: text/plain; charset="us-ascii" |
|
916 | Content-Type: text/plain; charset="us-ascii" | |
640 | MIME-Version: 1.0 |
|
917 | MIME-Version: 1.0 | |
641 | Content-Transfer-Encoding: 7bit |
|
918 | Content-Transfer-Encoding: 7bit | |
642 | Subject: [PATCH 1 of 1] c |
|
919 | Subject: [PATCH 1 of 1] c | |
643 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
920 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
644 | Message-Id: <ff2c9fa2018b15fa74b3.61@ |
|
921 | Message-Id: <ff2c9fa2018b15fa74b3.61@ | |
645 | In-Reply-To: <patchbomb.60@ |
|
922 | In-Reply-To: <patchbomb.60@ | |
646 | References: <patchbomb.60@ |
|
923 | References: <patchbomb.60@ | |
647 | User-Agent: Mercurial-patchbomb |
|
924 | User-Agent: Mercurial-patchbomb | |
648 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
925 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
649 | From: quux |
|
926 | From: quux | |
650 | To: foo |
|
927 | To: foo | |
651 | Cc: bar |
|
928 | Cc: bar | |
652 |
|
929 | |||
653 | # HG changeset patch |
|
930 | # HG changeset patch | |
654 | # User test |
|
931 | # User test | |
655 | # Date 3 0 |
|
932 | # Date 3 0 | |
656 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
933 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
657 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
934 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
658 | c |
|
935 | c | |
659 |
|
936 | |||
660 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
937 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
661 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
938 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
662 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
939 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
663 | @@ -0,0 +1,1 @@ |
|
940 | @@ -0,0 +1,1 @@ | |
664 | +c |
|
941 | +c | |
665 |
|
942 | |||
666 | % test intro for multiple patches |
|
943 | % test intro for multiple patches | |
667 | This patch series consists of 2 patches. |
|
944 | This patch series consists of 2 patches. | |
668 |
|
945 | |||
669 |
|
946 | |||
670 | Write the introductory message for the patch series. |
|
947 | Write the introductory message for the patch series. | |
671 |
|
948 | |||
672 |
|
949 | |||
673 | Displaying [PATCH 0 of 2] test ... |
|
950 | Displaying [PATCH 0 of 2] test ... | |
674 | Content-Type: text/plain; charset="us-ascii" |
|
951 | Content-Type: text/plain; charset="us-ascii" | |
675 | MIME-Version: 1.0 |
|
952 | MIME-Version: 1.0 | |
676 | Content-Transfer-Encoding: 7bit |
|
953 | Content-Transfer-Encoding: 7bit | |
677 | Subject: [PATCH 0 of 2] test |
|
954 | Subject: [PATCH 0 of 2] test | |
678 | Message-Id: <patchbomb.60@ |
|
955 | Message-Id: <patchbomb.60@ | |
679 | User-Agent: Mercurial-patchbomb |
|
956 | User-Agent: Mercurial-patchbomb | |
680 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
957 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
681 | From: quux |
|
958 | From: quux | |
682 | To: foo |
|
959 | To: foo | |
683 | Cc: bar |
|
960 | Cc: bar | |
684 |
|
961 | |||
685 |
|
962 | |||
686 | Displaying [PATCH 1 of 2] a ... |
|
963 | Displaying [PATCH 1 of 2] a ... | |
687 | Content-Type: text/plain; charset="us-ascii" |
|
964 | Content-Type: text/plain; charset="us-ascii" | |
688 | MIME-Version: 1.0 |
|
965 | MIME-Version: 1.0 | |
689 | Content-Transfer-Encoding: 7bit |
|
966 | Content-Transfer-Encoding: 7bit | |
690 | Subject: [PATCH 1 of 2] a |
|
967 | Subject: [PATCH 1 of 2] a | |
691 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
968 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
692 | Message-Id: <8580ff50825a50c8f716.61@ |
|
969 | Message-Id: <8580ff50825a50c8f716.61@ | |
693 | In-Reply-To: <patchbomb.60@ |
|
970 | In-Reply-To: <patchbomb.60@ | |
694 | References: <patchbomb.60@ |
|
971 | References: <patchbomb.60@ | |
695 | User-Agent: Mercurial-patchbomb |
|
972 | User-Agent: Mercurial-patchbomb | |
696 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
973 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
697 | From: quux |
|
974 | From: quux | |
698 | To: foo |
|
975 | To: foo | |
699 | Cc: bar |
|
976 | Cc: bar | |
700 |
|
977 | |||
701 | # HG changeset patch |
|
978 | # HG changeset patch | |
702 | # User test |
|
979 | # User test | |
703 | # Date 1 0 |
|
980 | # Date 1 0 | |
704 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
981 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
705 | # Parent 0000000000000000000000000000000000000000 |
|
982 | # Parent 0000000000000000000000000000000000000000 | |
706 | a |
|
983 | a | |
707 |
|
984 | |||
708 | diff -r 000000000000 -r 8580ff50825a a |
|
985 | diff -r 000000000000 -r 8580ff50825a a | |
709 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
986 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
710 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
987 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
711 | @@ -0,0 +1,1 @@ |
|
988 | @@ -0,0 +1,1 @@ | |
712 | +a |
|
989 | +a | |
713 |
|
990 | |||
714 | Displaying [PATCH 2 of 2] b ... |
|
991 | Displaying [PATCH 2 of 2] b ... | |
715 | Content-Type: text/plain; charset="us-ascii" |
|
992 | Content-Type: text/plain; charset="us-ascii" | |
716 | MIME-Version: 1.0 |
|
993 | MIME-Version: 1.0 | |
717 | Content-Transfer-Encoding: 7bit |
|
994 | Content-Transfer-Encoding: 7bit | |
718 | Subject: [PATCH 2 of 2] b |
|
995 | Subject: [PATCH 2 of 2] b | |
719 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
996 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
720 | Message-Id: <97d72e5f12c7e84f8506.62@ |
|
997 | Message-Id: <97d72e5f12c7e84f8506.62@ | |
721 | In-Reply-To: <patchbomb.60@ |
|
998 | In-Reply-To: <patchbomb.60@ | |
722 | References: <patchbomb.60@ |
|
999 | References: <patchbomb.60@ | |
723 | User-Agent: Mercurial-patchbomb |
|
1000 | User-Agent: Mercurial-patchbomb | |
724 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
1001 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
725 | From: quux |
|
1002 | From: quux | |
726 | To: foo |
|
1003 | To: foo | |
727 | Cc: bar |
|
1004 | Cc: bar | |
728 |
|
1005 | |||
729 | # HG changeset patch |
|
1006 | # HG changeset patch | |
730 | # User test |
|
1007 | # User test | |
731 | # Date 2 0 |
|
1008 | # Date 2 0 | |
732 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1009 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
733 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1010 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
734 | b |
|
1011 | b | |
735 |
|
1012 | |||
736 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
1013 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
737 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1014 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
738 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
1015 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
739 | @@ -0,0 +1,1 @@ |
|
1016 | @@ -0,0 +1,1 @@ | |
740 | +b |
|
1017 | +b | |
741 |
|
1018 | |||
742 | % tagging csets |
|
1019 | % tagging csets | |
743 | % test inline for single named patch |
|
1020 | % test inline for single named patch | |
744 | This patch series consists of 1 patches. |
|
1021 | This patch series consists of 1 patches. | |
745 |
|
1022 | |||
746 |
|
1023 | |||
747 | Displaying [PATCH] test ... |
|
1024 | Displaying [PATCH] test ... | |
748 | Content-Type: multipart/mixed; boundary="=== |
|
1025 | Content-Type: multipart/mixed; boundary="=== | |
749 | MIME-Version: 1.0 |
|
1026 | MIME-Version: 1.0 | |
750 | Subject: [PATCH] test |
|
1027 | Subject: [PATCH] test | |
751 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1028 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
752 | Message-Id: <ff2c9fa2018b15fa74b3.60@ |
|
1029 | Message-Id: <ff2c9fa2018b15fa74b3.60@ | |
753 | User-Agent: Mercurial-patchbomb |
|
1030 | User-Agent: Mercurial-patchbomb | |
754 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1031 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
755 | From: quux |
|
1032 | From: quux | |
756 | To: foo |
|
1033 | To: foo | |
757 | Cc: bar |
|
1034 | Cc: bar | |
758 |
|
1035 | |||
759 | --=== |
|
1036 | --=== | |
760 | Content-Type: text/x-patch; charset="us-ascii" |
|
1037 | Content-Type: text/x-patch; charset="us-ascii" | |
761 | MIME-Version: 1.0 |
|
1038 | MIME-Version: 1.0 | |
762 | Content-Transfer-Encoding: 7bit |
|
1039 | Content-Transfer-Encoding: 7bit | |
763 | Content-Disposition: inline; filename=two.diff |
|
1040 | Content-Disposition: inline; filename=two.diff | |
764 |
|
1041 | |||
765 | # HG changeset patch |
|
1042 | # HG changeset patch | |
766 | # User test |
|
1043 | # User test | |
767 | # Date 3 0 |
|
1044 | # Date 3 0 | |
768 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1045 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
769 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1046 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
770 | c |
|
1047 | c | |
771 |
|
1048 | |||
772 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1049 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
773 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1050 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
774 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1051 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
775 | @@ -0,0 +1,1 @@ |
|
1052 | @@ -0,0 +1,1 @@ | |
776 | +c |
|
1053 | +c | |
777 |
|
1054 | |||
778 | --=== |
|
1055 | --=== | |
779 | % test inline for multiple named/unnamed patches |
|
1056 | % test inline for multiple named/unnamed patches | |
780 | This patch series consists of 2 patches. |
|
1057 | This patch series consists of 2 patches. | |
781 |
|
1058 | |||
782 |
|
1059 | |||
783 | Write the introductory message for the patch series. |
|
1060 | Write the introductory message for the patch series. | |
784 |
|
1061 | |||
785 |
|
1062 | |||
786 | Displaying [PATCH 0 of 2] test ... |
|
1063 | Displaying [PATCH 0 of 2] test ... | |
787 | Content-Type: text/plain; charset="us-ascii" |
|
1064 | Content-Type: text/plain; charset="us-ascii" | |
788 | MIME-Version: 1.0 |
|
1065 | MIME-Version: 1.0 | |
789 | Content-Transfer-Encoding: 7bit |
|
1066 | Content-Transfer-Encoding: 7bit | |
790 | Subject: [PATCH 0 of 2] test |
|
1067 | Subject: [PATCH 0 of 2] test | |
791 | Message-Id: <patchbomb.60@ |
|
1068 | Message-Id: <patchbomb.60@ | |
792 | User-Agent: Mercurial-patchbomb |
|
1069 | User-Agent: Mercurial-patchbomb | |
793 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1070 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
794 | From: quux |
|
1071 | From: quux | |
795 | To: foo |
|
1072 | To: foo | |
796 | Cc: bar |
|
1073 | Cc: bar | |
797 |
|
1074 | |||
798 |
|
1075 | |||
799 | Displaying [PATCH 1 of 2] a ... |
|
1076 | Displaying [PATCH 1 of 2] a ... | |
800 | Content-Type: multipart/mixed; boundary="=== |
|
1077 | Content-Type: multipart/mixed; boundary="=== | |
801 | MIME-Version: 1.0 |
|
1078 | MIME-Version: 1.0 | |
802 | Subject: [PATCH 1 of 2] a |
|
1079 | Subject: [PATCH 1 of 2] a | |
803 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1080 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
804 | Message-Id: <8580ff50825a50c8f716.61@ |
|
1081 | Message-Id: <8580ff50825a50c8f716.61@ | |
805 | In-Reply-To: <patchbomb.60@ |
|
1082 | In-Reply-To: <patchbomb.60@ | |
806 | References: <patchbomb.60@ |
|
1083 | References: <patchbomb.60@ | |
807 | User-Agent: Mercurial-patchbomb |
|
1084 | User-Agent: Mercurial-patchbomb | |
808 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
1085 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
809 | From: quux |
|
1086 | From: quux | |
810 | To: foo |
|
1087 | To: foo | |
811 | Cc: bar |
|
1088 | Cc: bar | |
812 |
|
1089 | |||
813 | --=== |
|
1090 | --=== | |
814 | Content-Type: text/x-patch; charset="us-ascii" |
|
1091 | Content-Type: text/x-patch; charset="us-ascii" | |
815 | MIME-Version: 1.0 |
|
1092 | MIME-Version: 1.0 | |
816 | Content-Transfer-Encoding: 7bit |
|
1093 | Content-Transfer-Encoding: 7bit | |
817 | Content-Disposition: inline; filename=t2-1.patch |
|
1094 | Content-Disposition: inline; filename=t2-1.patch | |
818 |
|
1095 | |||
819 | # HG changeset patch |
|
1096 | # HG changeset patch | |
820 | # User test |
|
1097 | # User test | |
821 | # Date 1 0 |
|
1098 | # Date 1 0 | |
822 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1099 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
823 | # Parent 0000000000000000000000000000000000000000 |
|
1100 | # Parent 0000000000000000000000000000000000000000 | |
824 | a |
|
1101 | a | |
825 |
|
1102 | |||
826 | diff -r 000000000000 -r 8580ff50825a a |
|
1103 | diff -r 000000000000 -r 8580ff50825a a | |
827 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1104 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
828 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
1105 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
829 | @@ -0,0 +1,1 @@ |
|
1106 | @@ -0,0 +1,1 @@ | |
830 | +a |
|
1107 | +a | |
831 |
|
1108 | |||
832 | --=== |
|
1109 | --=== | |
833 | Displaying [PATCH 2 of 2] b ... |
|
1110 | Displaying [PATCH 2 of 2] b ... | |
834 | Content-Type: multipart/mixed; boundary="=== |
|
1111 | Content-Type: multipart/mixed; boundary="=== | |
835 | MIME-Version: 1.0 |
|
1112 | MIME-Version: 1.0 | |
836 | Subject: [PATCH 2 of 2] b |
|
1113 | Subject: [PATCH 2 of 2] b | |
837 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1114 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
838 | Message-Id: <97d72e5f12c7e84f8506.62@ |
|
1115 | Message-Id: <97d72e5f12c7e84f8506.62@ | |
839 | In-Reply-To: <patchbomb.60@ |
|
1116 | In-Reply-To: <patchbomb.60@ | |
840 | References: <patchbomb.60@ |
|
1117 | References: <patchbomb.60@ | |
841 | User-Agent: Mercurial-patchbomb |
|
1118 | User-Agent: Mercurial-patchbomb | |
842 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
1119 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
843 | From: quux |
|
1120 | From: quux | |
844 | To: foo |
|
1121 | To: foo | |
845 | Cc: bar |
|
1122 | Cc: bar | |
846 |
|
1123 | |||
847 | --=== |
|
1124 | --=== | |
848 | Content-Type: text/x-patch; charset="us-ascii" |
|
1125 | Content-Type: text/x-patch; charset="us-ascii" | |
849 | MIME-Version: 1.0 |
|
1126 | MIME-Version: 1.0 | |
850 | Content-Transfer-Encoding: 7bit |
|
1127 | Content-Transfer-Encoding: 7bit | |
851 | Content-Disposition: inline; filename=one.patch |
|
1128 | Content-Disposition: inline; filename=one.patch | |
852 |
|
1129 | |||
853 | # HG changeset patch |
|
1130 | # HG changeset patch | |
854 | # User test |
|
1131 | # User test | |
855 | # Date 2 0 |
|
1132 | # Date 2 0 | |
856 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1133 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
857 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1134 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
858 | b |
|
1135 | b | |
859 |
|
1136 | |||
860 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
1137 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
861 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1138 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
862 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
1139 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
863 | @@ -0,0 +1,1 @@ |
|
1140 | @@ -0,0 +1,1 @@ | |
864 | +b |
|
1141 | +b | |
865 |
|
1142 | |||
866 | --=== |
|
1143 | --=== | |
867 | % test inreplyto |
|
1144 | % test inreplyto | |
868 | This patch series consists of 1 patches. |
|
1145 | This patch series consists of 1 patches. | |
869 |
|
1146 | |||
870 |
|
1147 | |||
871 | Displaying [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b ... |
|
1148 | Displaying [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b ... | |
872 | Content-Type: text/plain; charset="us-ascii" |
|
1149 | Content-Type: text/plain; charset="us-ascii" | |
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 | |
881 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1158 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
882 | From: quux |
|
1159 | From: quux | |
883 | To: foo |
|
1160 | To: foo | |
884 | Cc: bar |
|
1161 | Cc: bar | |
885 |
|
1162 | |||
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 @@ | |
897 | 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo |
|
1174 | 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo | |
898 | 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one |
|
1175 | 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one | |
899 | 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch |
|
1176 | 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch | |
900 | +ff2c9fa2018b15fa74b33363bda9527323e2a99f two |
|
1177 | +ff2c9fa2018b15fa74b33363bda9527323e2a99f two | |
901 | +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff |
|
1178 | +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff | |
902 |
|
1179 |
General Comments 0
You need to be logged in to leave comments.
Login now