##// END OF EJS Templates
patchbomb: Reply-To support...
Cédric Duval -
r11150:f66ca443 default
parent child Browse files
Show More
@@ -1,527 +1,533 b''
1 1 # patchbomb.py - sending Mercurial changesets as patch emails
2 2 #
3 3 # Copyright 2005-2009 Matt Mackall <mpm@selenic.com> and others
4 4 #
5 5 # This software may be used and distributed according to the terms of the
6 6 # GNU General Public License version 2 or any later version.
7 7
8 8 '''command to send changesets as (a series of) patch emails
9 9
10 10 The series is started off with a "[PATCH 0 of N]" introduction, which
11 11 describes the series as a whole.
12 12
13 13 Each patch email has a Subject line of "[PATCH M of N] ...", using the
14 14 first line of the changeset description as the subject text. The
15 15 message contains two or three body parts:
16 16
17 17 - The changeset description.
18 18 - [Optional] The result of running diffstat on the patch.
19 19 - The patch itself, as generated by :hg:`export`.
20 20
21 21 Each message refers to the first in the series using the In-Reply-To
22 22 and References headers, so they will show up as a sequence in threaded
23 23 mail and news readers, and in mail archives.
24 24
25 25 With the -d/--diffstat option, you will be prompted for each changeset
26 26 with a diffstat summary and the changeset summary, so you can be sure
27 27 you are sending the right changes.
28 28
29 29 To configure other defaults, add a section like this to your hgrc
30 30 file::
31 31
32 32 [email]
33 33 from = My Name <my@email>
34 34 to = recipient1, recipient2, ...
35 35 cc = cc1, cc2, ...
36 36 bcc = bcc1, bcc2, ...
37 reply-to = address1, address2, ...
37 38
38 39 Use ``[patchbomb]`` as configuration section name if you need to
39 40 override global ``[email]`` address settings.
40 41
41 42 Then you can use the :hg:`email` command to mail a series of
42 43 changesets as a patchbomb.
43 44
44 45 To avoid sending patches prematurely, it is a good idea to first run
45 46 the :hg:`email` command with the "-n" option (test only). You will be
46 47 prompted for an email recipient address, a subject and an introductory
47 48 message describing the patches of your patchbomb. Then when all is
48 49 done, patchbomb messages are displayed. If the PAGER environment
49 50 variable is set, your pager will be fired up once for each patchbomb
50 51 message, so you can verify everything is alright.
51 52
52 53 The -m/--mbox option is also very useful. Instead of previewing each
53 54 patchbomb message in a pager or sending the messages directly, it will
54 55 create a UNIX mailbox file with the patch emails. This mailbox file
55 56 can be previewed with any mail user agent which supports UNIX mbox
56 57 files, e.g. with mutt::
57 58
58 59 % mutt -R -f mbox
59 60
60 61 When you are previewing the patchbomb messages, you can use ``formail``
61 62 (a utility that is commonly installed as part of the procmail
62 63 package), to send each message out::
63 64
64 65 % formail -s sendmail -bm -t < mbox
65 66
66 67 That should be all. Now your patchbomb is on its way out.
67 68
68 69 You can also either configure the method option in the email section
69 70 to be a sendmail compatible mailer or fill out the [smtp] section so
70 71 that the patchbomb extension can automatically send patchbombs
71 72 directly from the commandline. See the [email] and [smtp] sections in
72 73 hgrc(5) for details.
73 74 '''
74 75
75 76 import os, errno, socket, tempfile, cStringIO, time
76 77 import email.MIMEMultipart, email.MIMEBase
77 78 import email.Utils, email.Encoders, email.Generator
78 79 from mercurial import cmdutil, commands, hg, mail, patch, util
79 80 from mercurial.i18n import _
80 81 from mercurial.node import bin
81 82
82 83 def prompt(ui, prompt, default=None, rest=':'):
83 84 if not ui.interactive():
84 85 if default is not None:
85 86 return default
86 87 raise util.Abort(_("%s Please enter a valid value" % (prompt + rest)))
87 88 if default:
88 89 prompt += ' [%s]' % default
89 90 prompt += rest
90 91 while True:
91 92 r = ui.prompt(prompt, default=default)
92 93 if r:
93 94 return r
94 95 if default is not None:
95 96 return default
96 97 ui.warn(_('Please enter a valid value.\n'))
97 98
98 99 def cdiffstat(ui, summary, patchlines):
99 100 s = patch.diffstat(patchlines)
100 101 if summary:
101 102 ui.write(summary, '\n')
102 103 ui.write(s, '\n')
103 104 ans = prompt(ui, _('does the diffstat above look okay?'), 'y')
104 105 if not ans.lower().startswith('y'):
105 106 raise util.Abort(_('diffstat rejected'))
106 107 return s
107 108
108 109 def introneeded(opts, number):
109 110 '''is an introductory message required?'''
110 111 return number > 1 or opts.get('intro') or opts.get('desc')
111 112
112 113 def makepatch(ui, repo, patch, opts, _charsets, idx, total, patchname=None):
113 114
114 115 desc = []
115 116 node = None
116 117 body = ''
117 118
118 119 for line in patch:
119 120 if line.startswith('#'):
120 121 if line.startswith('# Node ID'):
121 122 node = line.split()[-1]
122 123 continue
123 124 if line.startswith('diff -r') or line.startswith('diff --git'):
124 125 break
125 126 desc.append(line)
126 127
127 128 if not patchname and not node:
128 129 raise ValueError
129 130
130 131 if opts.get('attach'):
131 132 body = ('\n'.join(desc[1:]).strip() or
132 133 'Patch subject is complete summary.')
133 134 body += '\n\n\n'
134 135
135 136 if opts.get('plain'):
136 137 while patch and patch[0].startswith('# '):
137 138 patch.pop(0)
138 139 if patch:
139 140 patch.pop(0)
140 141 while patch and not patch[0].strip():
141 142 patch.pop(0)
142 143
143 144 if opts.get('diffstat'):
144 145 body += cdiffstat(ui, '\n'.join(desc), patch) + '\n\n'
145 146
146 147 if opts.get('attach') or opts.get('inline'):
147 148 msg = email.MIMEMultipart.MIMEMultipart()
148 149 if body:
149 150 msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test')))
150 151 p = mail.mimetextpatch('\n'.join(patch), 'x-patch', opts.get('test'))
151 152 binnode = bin(node)
152 153 # if node is mq patch, it will have the patch file's name as a tag
153 154 if not patchname:
154 155 patchtags = [t for t in repo.nodetags(binnode)
155 156 if t.endswith('.patch') or t.endswith('.diff')]
156 157 if patchtags:
157 158 patchname = patchtags[0]
158 159 elif total > 1:
159 160 patchname = cmdutil.make_filename(repo, '%b-%n.patch',
160 161 binnode, seqno=idx, total=total)
161 162 else:
162 163 patchname = cmdutil.make_filename(repo, '%b.patch', binnode)
163 164 disposition = 'inline'
164 165 if opts.get('attach'):
165 166 disposition = 'attachment'
166 167 p['Content-Disposition'] = disposition + '; filename=' + patchname
167 168 msg.attach(p)
168 169 else:
169 170 body += '\n'.join(patch)
170 171 msg = mail.mimetextpatch(body, display=opts.get('test'))
171 172
172 173 flag = ' '.join(opts.get('flag'))
173 174 if flag:
174 175 flag = ' ' + flag
175 176
176 177 subj = desc[0].strip().rstrip('. ')
177 178 if not introneeded(opts, total):
178 179 subj = '[PATCH%s] %s' % (flag, opts.get('subject') or subj)
179 180 else:
180 181 tlen = len(str(total))
181 182 subj = '[PATCH %0*d of %d%s] %s' % (tlen, idx, total, flag, subj)
182 183 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test'))
183 184 msg['X-Mercurial-Node'] = node
184 185 return msg, subj
185 186
186 187 def patchbomb(ui, repo, *revs, **opts):
187 188 '''send changesets by email
188 189
189 190 By default, diffs are sent in the format generated by hg export,
190 191 one per message. The series starts with a "[PATCH 0 of N]"
191 192 introduction, which describes the series as a whole.
192 193
193 194 Each patch email has a Subject line of "[PATCH M of N] ...", using
194 195 the first line of the changeset description as the subject text.
195 196 The message contains two or three parts. First, the changeset
196 197 description. Next, (optionally) if the diffstat program is
197 198 installed and -d/--diffstat is used, the result of running
198 199 diffstat on the patch. Finally, the patch itself, as generated by
199 200 :hg:`export`.
200 201
201 202 By default the patch is included as text in the email body for
202 203 easy reviewing. Using the -a/--attach option will instead create
203 204 an attachment for the patch. With -i/--inline an inline attachment
204 205 will be created.
205 206
206 207 With -o/--outgoing, emails will be generated for patches not found
207 208 in the destination repository (or only those which are ancestors
208 209 of the specified revisions if any are provided)
209 210
210 211 With -b/--bundle, changesets are selected as for --outgoing, but a
211 212 single email containing a binary Mercurial bundle as an attachment
212 213 will be sent.
213 214
214 215 Examples::
215 216
216 217 hg email -r 3000 # send patch 3000 only
217 218 hg email -r 3000 -r 3001 # send patches 3000 and 3001
218 219 hg email -r 3000:3005 # send patches 3000 through 3005
219 220 hg email 3000 # send patch 3000 (deprecated)
220 221
221 222 hg email -o # send all patches not in default
222 223 hg email -o DEST # send all patches not in DEST
223 224 hg email -o -r 3000 # send all ancestors of 3000 not in default
224 225 hg email -o -r 3000 DEST # send all ancestors of 3000 not in DEST
225 226
226 227 hg email -b # send bundle of all patches not in default
227 228 hg email -b DEST # send bundle of all patches not in DEST
228 229 hg email -b -r 3000 # bundle of all ancestors of 3000 not in default
229 230 hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST
230 231
231 232 Before using this command, you will need to enable email in your
232 233 hgrc. See the [email] section in hgrc(5) for details.
233 234 '''
234 235
235 236 _charsets = mail._charsets(ui)
236 237
237 238 def outgoing(dest, revs):
238 239 '''Return the revisions present locally but not in dest'''
239 240 dest = ui.expandpath(dest or 'default-push', dest or 'default')
240 241 dest, branches = hg.parseurl(dest)
241 242 revs, checkout = hg.addbranchrevs(repo, repo, branches, revs)
242 243 if revs:
243 244 revs = [repo.lookup(rev) for rev in revs]
244 245 other = hg.repository(cmdutil.remoteui(repo, opts), dest)
245 246 ui.status(_('comparing with %s\n') % dest)
246 247 o = repo.findoutgoing(other)
247 248 if not o:
248 249 ui.status(_("no changes found\n"))
249 250 return []
250 251 o = repo.changelog.nodesbetween(o, revs)[0]
251 252 return [str(repo.changelog.rev(r)) for r in o]
252 253
253 254 def getpatches(revs):
254 255 for r in cmdutil.revrange(repo, revs):
255 256 output = cStringIO.StringIO()
256 257 cmdutil.export(repo, [r], fp=output,
257 258 opts=patch.diffopts(ui, opts))
258 259 yield output.getvalue().split('\n')
259 260
260 261 def getbundle(dest):
261 262 tmpdir = tempfile.mkdtemp(prefix='hg-email-bundle-')
262 263 tmpfn = os.path.join(tmpdir, 'bundle')
263 264 try:
264 265 commands.bundle(ui, repo, tmpfn, dest, **opts)
265 266 return open(tmpfn, 'rb').read()
266 267 finally:
267 268 try:
268 269 os.unlink(tmpfn)
269 270 except:
270 271 pass
271 272 os.rmdir(tmpdir)
272 273
273 274 if not (opts.get('test') or opts.get('mbox')):
274 275 # really sending
275 276 mail.validateconfig(ui)
276 277
277 278 if not (revs or opts.get('rev')
278 279 or opts.get('outgoing') or opts.get('bundle')
279 280 or opts.get('patches')):
280 281 raise util.Abort(_('specify at least one changeset with -r or -o'))
281 282
282 283 if opts.get('outgoing') and opts.get('bundle'):
283 284 raise util.Abort(_("--outgoing mode always on with --bundle;"
284 285 " do not re-specify --outgoing"))
285 286
286 287 if opts.get('outgoing') or opts.get('bundle'):
287 288 if len(revs) > 1:
288 289 raise util.Abort(_("too many destinations"))
289 290 dest = revs and revs[0] or None
290 291 revs = []
291 292
292 293 if opts.get('rev'):
293 294 if revs:
294 295 raise util.Abort(_('use only one form to specify the revision'))
295 296 revs = opts.get('rev')
296 297
297 298 if opts.get('outgoing'):
298 299 revs = outgoing(dest, opts.get('rev'))
299 300 if opts.get('bundle'):
300 301 opts['revs'] = revs
301 302
302 303 # start
303 304 if opts.get('date'):
304 305 start_time = util.parsedate(opts.get('date'))
305 306 else:
306 307 start_time = util.makedate()
307 308
308 309 def genmsgid(id):
309 310 return '<%s.%s@%s>' % (id[:20], int(start_time[0]), socket.getfqdn())
310 311
311 312 def getdescription(body, sender):
312 313 if opts.get('desc'):
313 314 body = open(opts.get('desc')).read()
314 315 else:
315 316 ui.write(_('\nWrite the introductory message for the '
316 317 'patch series.\n\n'))
317 318 body = ui.edit(body, sender)
318 319 return body
319 320
320 321 def getpatchmsgs(patches, patchnames=None):
321 322 jumbo = []
322 323 msgs = []
323 324
324 325 ui.write(_('This patch series consists of %d patches.\n\n')
325 326 % len(patches))
326 327
327 328 name = None
328 329 for i, p in enumerate(patches):
329 330 jumbo.extend(p)
330 331 if patchnames:
331 332 name = patchnames[i]
332 333 msg = makepatch(ui, repo, p, opts, _charsets, i + 1,
333 334 len(patches), name)
334 335 msgs.append(msg)
335 336
336 337 if introneeded(opts, len(patches)):
337 338 tlen = len(str(len(patches)))
338 339
339 340 flag = ' '.join(opts.get('flag'))
340 341 if flag:
341 342 subj = '[PATCH %0*d of %d %s]' % (tlen, 0, len(patches), flag)
342 343 else:
343 344 subj = '[PATCH %0*d of %d]' % (tlen, 0, len(patches))
344 345 subj += ' ' + (opts.get('subject') or
345 346 prompt(ui, 'Subject: ', rest=subj))
346 347
347 348 body = ''
348 349 if opts.get('diffstat'):
349 350 d = cdiffstat(ui, _('Final summary:\n'), jumbo)
350 351 if d:
351 352 body = '\n' + d
352 353
353 354 body = getdescription(body, sender)
354 355 msg = mail.mimeencode(ui, body, _charsets, opts.get('test'))
355 356 msg['Subject'] = mail.headencode(ui, subj, _charsets,
356 357 opts.get('test'))
357 358
358 359 msgs.insert(0, (msg, subj))
359 360 return msgs
360 361
361 362 def getbundlemsgs(bundle):
362 363 subj = (opts.get('subject')
363 364 or prompt(ui, 'Subject:', 'A bundle for your repository'))
364 365
365 366 body = getdescription('', sender)
366 367 msg = email.MIMEMultipart.MIMEMultipart()
367 368 if body:
368 369 msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test')))
369 370 datapart = email.MIMEBase.MIMEBase('application', 'x-mercurial-bundle')
370 371 datapart.set_payload(bundle)
371 372 bundlename = '%s.hg' % opts.get('bundlename', 'bundle')
372 373 datapart.add_header('Content-Disposition', 'attachment',
373 374 filename=bundlename)
374 375 email.Encoders.encode_base64(datapart)
375 376 msg.attach(datapart)
376 377 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test'))
377 378 return [(msg, subj)]
378 379
379 380 sender = (opts.get('from') or ui.config('email', 'from') or
380 381 ui.config('patchbomb', 'from') or
381 382 prompt(ui, 'From', ui.username()))
382 383
383 384 # internal option used by pbranches
384 385 patches = opts.get('patches')
385 386 if patches:
386 387 msgs = getpatchmsgs(patches, opts.get('patchnames'))
387 388 elif opts.get('bundle'):
388 389 msgs = getbundlemsgs(getbundle(dest))
389 390 else:
390 391 msgs = getpatchmsgs(list(getpatches(revs)))
391 392
392 393 def getaddrs(opt, prpt=None, default=None):
393 if opts.get(opt):
394 return mail.addrlistencode(ui, opts.get(opt), _charsets,
394 addrs = opts.get(opt.replace('-', '_'))
395 if addrs:
396 return mail.addrlistencode(ui, addrs, _charsets,
395 397 opts.get('test'))
396 398
397 399 addrs = (ui.config('email', opt) or
398 400 ui.config('patchbomb', opt) or '')
399 401 if not addrs and prpt:
400 402 addrs = prompt(ui, prpt, default)
401 403
402 404 return mail.addrlistencode(ui, [addrs], _charsets, opts.get('test'))
403 405
404 406 to = getaddrs('to', 'To')
405 407 cc = getaddrs('cc', 'Cc', '')
406 408 bcc = getaddrs('bcc')
409 replyto = getaddrs('reply-to')
407 410
408 411 ui.write('\n')
409 412
410 413 parent = opts.get('in_reply_to') or None
411 414 # angle brackets may be omitted, they're not semantically part of the msg-id
412 415 if parent is not None:
413 416 if not parent.startswith('<'):
414 417 parent = '<' + parent
415 418 if not parent.endswith('>'):
416 419 parent += '>'
417 420
418 421 first = True
419 422
420 423 sender_addr = email.Utils.parseaddr(sender)[1]
421 424 sender = mail.addressencode(ui, sender, _charsets, opts.get('test'))
422 425 sendmail = None
423 426 for m, subj in msgs:
424 427 try:
425 428 m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
426 429 except TypeError:
427 430 m['Message-Id'] = genmsgid('patchbomb')
428 431 if parent:
429 432 m['In-Reply-To'] = parent
430 433 m['References'] = parent
431 434 if first:
432 435 parent = m['Message-Id']
433 436 first = False
434 437
435 438 m['User-Agent'] = 'Mercurial-patchbomb/%s' % util.version()
436 439 m['Date'] = email.Utils.formatdate(start_time[0], localtime=True)
437 440
438 441 start_time = (start_time[0] + 1, start_time[1])
439 442 m['From'] = sender
440 443 m['To'] = ', '.join(to)
441 444 if cc:
442 445 m['Cc'] = ', '.join(cc)
443 446 if bcc:
444 447 m['Bcc'] = ', '.join(bcc)
448 if replyto:
449 m['Reply-To'] = ', '.join(replyto)
445 450 if opts.get('test'):
446 451 ui.status(_('Displaying '), subj, ' ...\n')
447 452 ui.flush()
448 453 if 'PAGER' in os.environ:
449 454 fp = util.popen(os.environ['PAGER'], 'w')
450 455 else:
451 456 fp = ui
452 457 generator = email.Generator.Generator(fp, mangle_from_=False)
453 458 try:
454 459 generator.flatten(m, 0)
455 460 fp.write('\n')
456 461 except IOError, inst:
457 462 if inst.errno != errno.EPIPE:
458 463 raise
459 464 if fp is not ui:
460 465 fp.close()
461 466 elif opts.get('mbox'):
462 467 ui.status(_('Writing '), subj, ' ...\n')
463 468 fp = open(opts.get('mbox'), 'In-Reply-To' in m and 'ab+' or 'wb+')
464 469 generator = email.Generator.Generator(fp, mangle_from_=True)
465 470 # Should be time.asctime(), but Windows prints 2-characters day
466 471 # of month instead of one. Make them print the same thing.
467 472 date = time.strftime('%a %b %d %H:%M:%S %Y',
468 473 time.localtime(start_time[0]))
469 474 fp.write('From %s %s\n' % (sender_addr, date))
470 475 generator.flatten(m, 0)
471 476 fp.write('\n\n')
472 477 fp.close()
473 478 else:
474 479 if not sendmail:
475 480 sendmail = mail.connect(ui)
476 481 ui.status(_('Sending '), subj, ' ...\n')
477 482 # Exim does not remove the Bcc field
478 483 del m['Bcc']
479 484 fp = cStringIO.StringIO()
480 485 generator = email.Generator.Generator(fp, mangle_from_=False)
481 486 generator.flatten(m, 0)
482 487 sendmail(sender, to + bcc + cc, fp.getvalue())
483 488
484 489 emailopts = [
485 490 ('a', 'attach', None, _('send patches as attachments')),
486 491 ('i', 'inline', None, _('send patches as inline attachments')),
487 492 ('', 'bcc', [], _('email addresses of blind carbon copy recipients')),
488 493 ('c', 'cc', [], _('email addresses of copy recipients')),
489 494 ('d', 'diffstat', None, _('add diffstat output to messages')),
490 495 ('', 'date', '', _('use the given date as the sending date')),
491 496 ('', 'desc', '', _('use the given file as the series description')),
492 497 ('f', 'from', '', _('email address of sender')),
493 498 ('n', 'test', None, _('print messages that would be sent')),
494 499 ('m', 'mbox', '',
495 500 _('write messages to mbox file instead of sending them')),
501 ('', 'reply-to', [], _('email addresses replies should be sent to')),
496 502 ('s', 'subject', '',
497 503 _('subject of first message (intro or single patch)')),
498 504 ('', 'in-reply-to', '',
499 505 _('message identifier to reply to')),
500 506 ('', 'flag', [], _('flags to add in subject prefixes')),
501 507 ('t', 'to', [], _('email addresses of recipients')),
502 508 ]
503 509
504 510
505 511 cmdtable = {
506 512 "email":
507 513 (patchbomb,
508 514 [('g', 'git', None, _('use git extended diff format')),
509 515 ('', 'plain', None, _('omit hg patch header')),
510 516 ('o', 'outgoing', None,
511 517 _('send changes not found in the target repository')),
512 518 ('b', 'bundle', None,
513 519 _('send changes not in target as a binary bundle')),
514 520 ('', 'bundlename', 'bundle',
515 521 _('name of the bundle attachment file')),
516 522 ('r', 'rev', [], _('a revision to send')),
517 523 ('', 'force', None,
518 524 _('run even when remote repository is unrelated '
519 525 '(with -b/--bundle)')),
520 526 ('', 'base', [],
521 527 _('a base changeset to specify instead of a destination '
522 528 '(with -b/--bundle)')),
523 529 ('', 'intro', None,
524 530 _('send an introduction email for a single patch')),
525 531 ] + emailopts + commands.remoteopts,
526 532 _('hg email [OPTION]... [DEST]...'))
527 533 }
@@ -1,200 +1,208 b''
1 1 #!/bin/sh
2 2
3 3 fixheaders()
4 4 {
5 5 sed -e 's/\(Message-Id:.*@\).*/\1/' \
6 6 -e 's/\(In-Reply-To:.*@\).*/\1/' \
7 7 -e 's/\(References:.*@\).*/\1/' \
8 8 -e 's/\(User-Agent:.*\)\/.*/\1/' \
9 9 -e 's/===.*/===/'
10 10 }
11 11
12 12 echo "[extensions]" >> $HGRCPATH
13 13 echo "patchbomb=" >> $HGRCPATH
14 14
15 15 hg init t
16 16 cd t
17 17 echo a > a
18 18 hg commit -Ama -d '1 0'
19 19
20 20 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip | \
21 21 fixheaders
22 22
23 23 echo b > b
24 24 hg commit -Amb -d '2 0'
25 25
26 26 hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test -r 0:tip | \
27 27 fixheaders
28 28
29 29 hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip
30 30
31 31 cd ..
32 32
33 33 hg clone -q t t2
34 34 cd t2
35 35 echo c > c
36 36 hg commit -Amc -d '3 0'
37 37
38 38 cat > description <<EOF
39 39 a multiline
40 40
41 41 description
42 42 EOF
43 43
44 44 echo "% test bundle and description"
45 45 hg email --date '1970-1-1 0:3' -n -f quux -t foo \
46 46 -c bar -s test -r tip -b --desc description | \
47 47 fixheaders
48 48
49 49 echo "% utf-8 patch"
50 50 python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();'
51 51 hg commit -A -d '4 0' -m 'charset=utf-8; content-transfer-encoding: base64'
52 52
53 53 echo "% no mime encoding for email --test"
54 54 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | \
55 55 fixheaders > mailtest
56 56 echo "% md5sum of 8-bit output"
57 57 $TESTDIR/md5sum.py mailtest
58 58 rm mailtest
59 59
60 60 echo "% mime encoded mbox (base64)"
61 61 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
62 62 cat mbox | fixheaders
63 63 rm mbox
64 64
65 65 echo "% mime encoded mbox (quoted-printable)"
66 66 python -c 'fp = open("qp", "wb"); fp.write("%s\nfoo\n\nbar\n" % \
67 67 ("x" * 1024)); fp.close();'
68 68 hg commit -A -d '4 0' -m \
69 69 'charset=utf-8; content-transfer-encoding: quoted-printable'
70 70
71 71 echo "% no mime encoding for email --test"
72 72 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | \
73 73 fixheaders > mailtest
74 74 echo "% md5sum of qp output"
75 75 $TESTDIR/md5sum.py mailtest
76 76 rm mailtest
77 77
78 78 echo "% mime encoded mbox (quoted-printable)"
79 79 hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
80 80 cat mbox | fixheaders
81 81 rm mbox
82 82
83 83 echo "% iso-8859-1 patch"
84 84 python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();'
85 85 hg commit -A -d '5 0' -m 'charset=us-ascii; content-transfer-encoding: 8bit'
86 86
87 87 echo "% fake ascii mbox"
88 88 hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox
89 89 fixheaders < mbox > mboxfix
90 90 echo "% md5sum of 8-bit output"
91 91 $TESTDIR/md5sum.py mboxfix
92 92
93 93 echo "% test diffstat for single patch"
94 94 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y -r 2 | \
95 95 fixheaders
96 96
97 97 echo "% test diffstat for multiple patches"
98 98 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y \
99 99 -r 0:1 | fixheaders
100 100
101 101 echo "% test inline for single patch"
102 102 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2 | \
103 103 fixheaders
104 104
105 105 echo "% test inline for single patch (quoted-printable)"
106 106 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 4 | \
107 107 fixheaders
108 108
109 109 echo "% test inline for multiple patches"
110 110 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \
111 111 -r 0:1 -r 4 | fixheaders
112 112
113 113 echo "% test attach for single patch"
114 114 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 2 | \
115 115 fixheaders
116 116
117 117 echo "% test attach for single patch (quoted-printable)"
118 118 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 4 | \
119 119 fixheaders
120 120
121 121 echo "% test attach for multiple patches"
122 122 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a \
123 123 -r 0:1 -r 4 | fixheaders
124 124
125 125 echo "% test intro for single patch"
126 126 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
127 127 -r 2 | fixheaders
128 128
129 129 echo "% test --desc without --intro for a single patch"
130 130 echo foo > intro.text
131 131 hg email --date '1970-1-1 0:1' -n --desc intro.text -f quux -t foo -c bar \
132 132 -s test -r 2 | fixheaders
133 133
134 134 echo "% test intro for multiple patches"
135 135 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
136 136 -r 0:1 | fixheaders
137 137
138 echo "% test reply-to via config"
139 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
140 --config patchbomb.reply-to='baz@example.com' | fixheaders
141
142 echo "% test reply-to via command line"
143 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
144 --reply-to baz --reply-to fred | fixheaders
145
138 146 echo "% tagging csets"
139 147 hg tag -r0 zero zero.foo
140 148 hg tag -r1 one one.patch
141 149 hg tag -r2 two two.diff
142 150
143 151 echo "% test inline for single named patch"
144 152 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2 | \
145 153 fixheaders
146 154
147 155 echo "% test inline for multiple named/unnamed patches"
148 156 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 0:1 | \
149 157 fixheaders
150 158
151 159 echo "% test inreplyto"
152 160 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
153 161 -r tip | fixheaders
154 162
155 163 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
156 164 -r 0:1 | fixheaders
157 165
158 166 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
159 167 -s test -r 0:1 | fixheaders
160 168
161 169 echo "% test single flag for single patch"
162 170 hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
163 171 -r 2 | fixheaders
164 172
165 173 echo "% test single flag for multiple patches"
166 174 hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
167 175 -r 0:1 | fixheaders
168 176
169 177 echo "% test mutiple flags for single patch"
170 178 hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
171 179 -c bar -s test -r 2 | fixheaders
172 180
173 181 echo "% test multiple flags for multiple patches"
174 182 hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
175 183 -c bar -s test -r 0:1 | fixheaders
176 184
177 185 echo "% test multi-address parsing"
178 186 hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t 'spam<spam><eggs>' \
179 187 -t toast -c 'foo,bar@example.com' -c '"A, B <>" <a@example.com>' -s test -r 0 \
180 188 --config email.bcc='"Quux, A." <quux>'
181 189 cat tmp.mbox | fixheaders
182 190
183 191 echo "% test multi-byte domain parsing"
184 192 UUML=`python -c 'import sys; sys.stdout.write("\374")'`
185 193 HGENCODING=iso-8859-1
186 194 export HGENCODING
187 195 hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t "bar@${UUML}nicode.com" \
188 196 -s test -r 0
189 197 cat tmp.mbox | fixheaders
190 198
191 199 echo "% test outgoing"
192 200 hg up 1
193 201 hg branch test
194 202 echo d > d
195 203 hg add d
196 204 hg ci -md -d '4 0'
197 205 hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t | fixheaders
198 206
199 207 echo "% dest#branch URIs"
200 208 hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t#test | fixheaders
@@ -1,1886 +1,1948 b''
1 1 adding a
2 2 This patch series consists of 1 patches.
3 3
4 4
5 5 Displaying [PATCH] a ...
6 6 Content-Type: text/plain; charset="us-ascii"
7 7 MIME-Version: 1.0
8 8 Content-Transfer-Encoding: 7bit
9 9 Subject: [PATCH] a
10 10 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
11 11 Message-Id: <8580ff50825a50c8f716.60@
12 12 User-Agent: Mercurial-patchbomb
13 13 Date: Thu, 01 Jan 1970 00:01:00 +0000
14 14 From: quux
15 15 To: foo
16 16 Cc: bar
17 17
18 18 # HG changeset patch
19 19 # User test
20 20 # Date 1 0
21 21 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
22 22 # Parent 0000000000000000000000000000000000000000
23 23 a
24 24
25 25 diff -r 000000000000 -r 8580ff50825a a
26 26 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
27 27 +++ b/a Thu Jan 01 00:00:01 1970 +0000
28 28 @@ -0,0 +1,1 @@
29 29 +a
30 30
31 31 adding b
32 32 This patch series consists of 2 patches.
33 33
34 34
35 35 Write the introductory message for the patch series.
36 36
37 37
38 38 Displaying [PATCH 0 of 2] test ...
39 39 Content-Type: text/plain; charset="us-ascii"
40 40 MIME-Version: 1.0
41 41 Content-Transfer-Encoding: 7bit
42 42 Subject: [PATCH 0 of 2] test
43 43 Message-Id: <patchbomb.120@
44 44 User-Agent: Mercurial-patchbomb
45 45 Date: Thu, 01 Jan 1970 00:02:00 +0000
46 46 From: quux
47 47 To: foo
48 48 Cc: bar
49 49
50 50
51 51 Displaying [PATCH 1 of 2] a ...
52 52 Content-Type: text/plain; charset="us-ascii"
53 53 MIME-Version: 1.0
54 54 Content-Transfer-Encoding: 7bit
55 55 Subject: [PATCH 1 of 2] a
56 56 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
57 57 Message-Id: <8580ff50825a50c8f716.121@
58 58 In-Reply-To: <patchbomb.120@
59 59 References: <patchbomb.120@
60 60 User-Agent: Mercurial-patchbomb
61 61 Date: Thu, 01 Jan 1970 00:02:01 +0000
62 62 From: quux
63 63 To: foo
64 64 Cc: bar
65 65
66 66 # HG changeset patch
67 67 # User test
68 68 # Date 1 0
69 69 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
70 70 # Parent 0000000000000000000000000000000000000000
71 71 a
72 72
73 73 diff -r 000000000000 -r 8580ff50825a a
74 74 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
75 75 +++ b/a Thu Jan 01 00:00:01 1970 +0000
76 76 @@ -0,0 +1,1 @@
77 77 +a
78 78
79 79 Displaying [PATCH 2 of 2] b ...
80 80 Content-Type: text/plain; charset="us-ascii"
81 81 MIME-Version: 1.0
82 82 Content-Transfer-Encoding: 7bit
83 83 Subject: [PATCH 2 of 2] b
84 84 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
85 85 Message-Id: <97d72e5f12c7e84f8506.122@
86 86 In-Reply-To: <patchbomb.120@
87 87 References: <patchbomb.120@
88 88 User-Agent: Mercurial-patchbomb
89 89 Date: Thu, 01 Jan 1970 00:02:02 +0000
90 90 From: quux
91 91 To: foo
92 92 Cc: bar
93 93
94 94 # HG changeset patch
95 95 # User test
96 96 # Date 2 0
97 97 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
98 98 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
99 99 b
100 100
101 101 diff -r 8580ff50825a -r 97d72e5f12c7 b
102 102 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
103 103 +++ b/b Thu Jan 01 00:00:02 1970 +0000
104 104 @@ -0,0 +1,1 @@
105 105 +b
106 106
107 107 This patch series consists of 2 patches.
108 108
109 109
110 110 Write the introductory message for the patch series.
111 111
112 112
113 113 Writing [PATCH 0 of 2] test ...
114 114 Writing [PATCH 1 of 2] a ...
115 115 Writing [PATCH 2 of 2] b ...
116 116 adding c
117 117 % test bundle and description
118 118 searching for changes
119 119 1 changesets found
120 120
121 121 Displaying test ...
122 122 Content-Type: multipart/mixed; boundary="===
123 123 MIME-Version: 1.0
124 124 Subject: test
125 125 Message-Id: <patchbomb.180@
126 126 User-Agent: Mercurial-patchbomb
127 127 Date: Thu, 01 Jan 1970 00:03:00 +0000
128 128 From: quux
129 129 To: foo
130 130 Cc: bar
131 131
132 132 --===
133 133 Content-Type: text/plain; charset="us-ascii"
134 134 MIME-Version: 1.0
135 135 Content-Transfer-Encoding: 7bit
136 136
137 137 a multiline
138 138
139 139 description
140 140
141 141 --===
142 142 Content-Type: application/x-mercurial-bundle
143 143 MIME-Version: 1.0
144 144 Content-Disposition: attachment; filename="bundle.hg"
145 145 Content-Transfer-Encoding: base64
146 146
147 147 SEcxMEJaaDkxQVkmU1nvR7I3AAAN////lFYQWj1/4HwRkdC/AywIAk0E4pfoSIIIgQCgGEQOcLAA
148 148 2tA1VPyp4mkeoG0EaaPU0GTT1GjRiNPIg9CZGBqZ6UbU9J+KFU09DNUaGgAAAAAANAGgAAAAA1U8
149 149 oGgAADQGgAANNANAAAAAAZipFLz3XoakCEQB3PVPyHJVi1iYkAAKQAZQGpQGZESInRnCFMqLDla2
150 150 Bx3qfRQeA2N4lnzKkAmP8kR2asievLLXXebVU8Vg4iEBqcJNJAxIapSU6SM4888ZAciRG6MYAIEE
151 151 SlIBpFisgGkyRjX//TMtfcUAEsGu56+YnE1OlTZmzKm8BSu2rvo4rHAYYaadIFFuTy0LYgIkgLVD
152 152 sgVa2F19D1tx9+hgbAygLgQwaIqcDdgA4BjQgIiz/AEP72++llgDKhKducqodGE4B0ETqF3JFOFC
153 153 Q70eyNw=
154 154 --===
155 155 % utf-8 patch
156 156 adding description
157 157 adding utf
158 158 % no mime encoding for email --test
159 159 % md5sum of 8-bit output
160 160 e726c29b3008e77994c7572563e57c34 mailtest
161 161 % mime encoded mbox (base64)
162 162 This patch series consists of 1 patches.
163 163
164 164
165 165 Writing [PATCH] charset=utf-8; content-transfer-encoding: base64 ...
166 166 From quux Thu Jan 01 00:04:01 1970
167 167 Content-Type: text/plain; charset="utf-8"
168 168 MIME-Version: 1.0
169 169 Content-Transfer-Encoding: base64
170 170 Subject: [PATCH] charset=utf-8; content-transfer-encoding: base64
171 171 X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
172 172 Message-Id: <c3c9e37db9f4fe4882cd.240@
173 173 User-Agent: Mercurial-patchbomb
174 174 Date: Thu, 01 Jan 1970 00:04:00 +0000
175 175 From: quux
176 176 To: foo
177 177 Cc: bar
178 178
179 179 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHRlc3QKIyBEYXRlIDQgMAojIE5vZGUgSUQgYzNj
180 180 OWUzN2RiOWY0ZmU0ODgyY2RhMzliYWY0MmZlZDZiYWQ4YjE1YQojIFBhcmVudCAgZmYyYzlmYTIw
181 181 MThiMTVmYTc0YjMzMzYzYmRhOTUyNzMyM2UyYTk5ZgpjaGFyc2V0PXV0Zi04OyBjb250ZW50LXRy
182 182 YW5zZmVyLWVuY29kaW5nOiBiYXNlNjQKCmRpZmYgLXIgZmYyYzlmYTIwMThiIC1yIGMzYzllMzdk
183 183 YjlmNCBkZXNjcmlwdGlvbgotLS0gL2Rldi9udWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCAr
184 184 MDAwMAorKysgYi9kZXNjcmlwdGlvbglUaHUgSmFuIDAxIDAwOjAwOjA0IDE5NzAgKzAwMDAKQEAg
185 185 LTAsMCArMSwzIEBACithIG11bHRpbGluZQorCitkZXNjcmlwdGlvbgpkaWZmIC1yIGZmMmM5ZmEy
186 186 MDE4YiAtciBjM2M5ZTM3ZGI5ZjQgdXRmCi0tLSAvZGV2L251bGwJVGh1IEphbiAwMSAwMDowMDow
187 187 MCAxOTcwICswMDAwCisrKyBiL3V0ZglUaHUgSmFuIDAxIDAwOjAwOjA0IDE5NzAgKzAwMDAKQEAg
188 188 LTAsMCArMSwxIEBACitow7ZtbWEhCg==
189 189
190 190
191 191 % mime encoded mbox (quoted-printable)
192 192 adding qp
193 193 % no mime encoding for email --test
194 194 % md5sum of qp output
195 195 0402c7d033e04044e423bb04816f9dae mailtest
196 196 % mime encoded mbox (quoted-printable)
197 197 This patch series consists of 1 patches.
198 198
199 199
200 200 Writing [PATCH] charset=utf-8; content-transfer-encoding: quoted-printable ...
201 201 From quux Thu Jan 01 00:04:01 1970
202 202 Content-Type: text/plain; charset="us-ascii"
203 203 MIME-Version: 1.0
204 204 Content-Transfer-Encoding: quoted-printable
205 205 Subject: [PATCH] charset=utf-8; content-transfer-encoding: quoted-printable
206 206 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
207 207 Message-Id: <c655633f8c87700bb38c.240@
208 208 User-Agent: Mercurial-patchbomb
209 209 Date: Thu, 01 Jan 1970 00:04:00 +0000
210 210 From: quux
211 211 To: foo
212 212 Cc: bar
213 213
214 214 # HG changeset patch
215 215 # User test
216 216 # Date 4 0
217 217 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
218 218 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
219 219 charset=3Dutf-8; content-transfer-encoding: quoted-printable
220 220
221 221 diff -r c3c9e37db9f4 -r c655633f8c87 qp
222 222 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
223 223 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
224 224 @@ -0,0 +1,4 @@
225 225 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
226 226 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
227 227 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
228 228 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
229 229 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
230 230 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
231 231 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
232 232 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
233 233 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
234 234 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
235 235 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
236 236 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
237 237 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
238 238 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
239 239 +foo
240 240 +
241 241 +bar
242 242
243 243
244 244 % iso-8859-1 patch
245 245 adding isolatin
246 246 % fake ascii mbox
247 247 This patch series consists of 1 patches.
248 248
249 249
250 250 Writing [PATCH] charset=us-ascii; content-transfer-encoding: 8bit ...
251 251 % md5sum of 8-bit output
252 252 9ea043d8fc43a71045114508baed144b mboxfix
253 253 % test diffstat for single patch
254 254 This patch series consists of 1 patches.
255 255
256 256 c
257 257
258 258 c | 1 +
259 259 1 files changed, 1 insertions(+), 0 deletions(-)
260 260
261 261
262 262 Displaying [PATCH] test ...
263 263 Content-Type: text/plain; charset="us-ascii"
264 264 MIME-Version: 1.0
265 265 Content-Transfer-Encoding: 7bit
266 266 Subject: [PATCH] test
267 267 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
268 268 Message-Id: <ff2c9fa2018b15fa74b3.60@
269 269 User-Agent: Mercurial-patchbomb
270 270 Date: Thu, 01 Jan 1970 00:01:00 +0000
271 271 From: quux
272 272 To: foo
273 273 Cc: bar
274 274
275 275 c | 1 +
276 276 1 files changed, 1 insertions(+), 0 deletions(-)
277 277
278 278
279 279 # HG changeset patch
280 280 # User test
281 281 # Date 3 0
282 282 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
283 283 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
284 284 c
285 285
286 286 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
287 287 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
288 288 +++ b/c Thu Jan 01 00:00:03 1970 +0000
289 289 @@ -0,0 +1,1 @@
290 290 +c
291 291
292 292 % test diffstat for multiple patches
293 293 This patch series consists of 2 patches.
294 294
295 295 a
296 296
297 297 a | 1 +
298 298 1 files changed, 1 insertions(+), 0 deletions(-)
299 299
300 300 b
301 301
302 302 b | 1 +
303 303 1 files changed, 1 insertions(+), 0 deletions(-)
304 304
305 305 Final summary:
306 306
307 307 a | 1 +
308 308 b | 1 +
309 309 2 files changed, 2 insertions(+), 0 deletions(-)
310 310
311 311
312 312 Write the introductory message for the patch series.
313 313
314 314
315 315 Displaying [PATCH 0 of 2] test ...
316 316 Content-Type: text/plain; charset="us-ascii"
317 317 MIME-Version: 1.0
318 318 Content-Transfer-Encoding: 7bit
319 319 Subject: [PATCH 0 of 2] test
320 320 Message-Id: <patchbomb.60@
321 321 User-Agent: Mercurial-patchbomb
322 322 Date: Thu, 01 Jan 1970 00:01:00 +0000
323 323 From: quux
324 324 To: foo
325 325 Cc: bar
326 326
327 327
328 328 a | 1 +
329 329 b | 1 +
330 330 2 files changed, 2 insertions(+), 0 deletions(-)
331 331
332 332 Displaying [PATCH 1 of 2] a ...
333 333 Content-Type: text/plain; charset="us-ascii"
334 334 MIME-Version: 1.0
335 335 Content-Transfer-Encoding: 7bit
336 336 Subject: [PATCH 1 of 2] a
337 337 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
338 338 Message-Id: <8580ff50825a50c8f716.61@
339 339 In-Reply-To: <patchbomb.60@
340 340 References: <patchbomb.60@
341 341 User-Agent: Mercurial-patchbomb
342 342 Date: Thu, 01 Jan 1970 00:01:01 +0000
343 343 From: quux
344 344 To: foo
345 345 Cc: bar
346 346
347 347 a | 1 +
348 348 1 files changed, 1 insertions(+), 0 deletions(-)
349 349
350 350
351 351 # HG changeset patch
352 352 # User test
353 353 # Date 1 0
354 354 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
355 355 # Parent 0000000000000000000000000000000000000000
356 356 a
357 357
358 358 diff -r 000000000000 -r 8580ff50825a a
359 359 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
360 360 +++ b/a Thu Jan 01 00:00:01 1970 +0000
361 361 @@ -0,0 +1,1 @@
362 362 +a
363 363
364 364 Displaying [PATCH 2 of 2] b ...
365 365 Content-Type: text/plain; charset="us-ascii"
366 366 MIME-Version: 1.0
367 367 Content-Transfer-Encoding: 7bit
368 368 Subject: [PATCH 2 of 2] b
369 369 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
370 370 Message-Id: <97d72e5f12c7e84f8506.62@
371 371 In-Reply-To: <patchbomb.60@
372 372 References: <patchbomb.60@
373 373 User-Agent: Mercurial-patchbomb
374 374 Date: Thu, 01 Jan 1970 00:01:02 +0000
375 375 From: quux
376 376 To: foo
377 377 Cc: bar
378 378
379 379 b | 1 +
380 380 1 files changed, 1 insertions(+), 0 deletions(-)
381 381
382 382
383 383 # HG changeset patch
384 384 # User test
385 385 # Date 2 0
386 386 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
387 387 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
388 388 b
389 389
390 390 diff -r 8580ff50825a -r 97d72e5f12c7 b
391 391 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
392 392 +++ b/b Thu Jan 01 00:00:02 1970 +0000
393 393 @@ -0,0 +1,1 @@
394 394 +b
395 395
396 396 % test inline for single patch
397 397 This patch series consists of 1 patches.
398 398
399 399
400 400 Displaying [PATCH] test ...
401 401 Content-Type: multipart/mixed; boundary="===
402 402 MIME-Version: 1.0
403 403 Subject: [PATCH] test
404 404 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
405 405 Message-Id: <ff2c9fa2018b15fa74b3.60@
406 406 User-Agent: Mercurial-patchbomb
407 407 Date: Thu, 01 Jan 1970 00:01:00 +0000
408 408 From: quux
409 409 To: foo
410 410 Cc: bar
411 411
412 412 --===
413 413 Content-Type: text/x-patch; charset="us-ascii"
414 414 MIME-Version: 1.0
415 415 Content-Transfer-Encoding: 7bit
416 416 Content-Disposition: inline; filename=t2.patch
417 417
418 418 # HG changeset patch
419 419 # User test
420 420 # Date 3 0
421 421 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
422 422 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
423 423 c
424 424
425 425 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
426 426 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
427 427 +++ b/c Thu Jan 01 00:00:03 1970 +0000
428 428 @@ -0,0 +1,1 @@
429 429 +c
430 430
431 431 --===
432 432 % test inline for single patch (quoted-printable)
433 433 This patch series consists of 1 patches.
434 434
435 435
436 436 Displaying [PATCH] test ...
437 437 Content-Type: multipart/mixed; boundary="===
438 438 MIME-Version: 1.0
439 439 Subject: [PATCH] test
440 440 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
441 441 Message-Id: <c655633f8c87700bb38c.60@
442 442 User-Agent: Mercurial-patchbomb
443 443 Date: Thu, 01 Jan 1970 00:01:00 +0000
444 444 From: quux
445 445 To: foo
446 446 Cc: bar
447 447
448 448 --===
449 449 Content-Type: text/x-patch; charset="us-ascii"
450 450 MIME-Version: 1.0
451 451 Content-Transfer-Encoding: quoted-printable
452 452 Content-Disposition: inline; filename=t2.patch
453 453
454 454 # HG changeset patch
455 455 # User test
456 456 # Date 4 0
457 457 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
458 458 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
459 459 charset=3Dutf-8; content-transfer-encoding: quoted-printable
460 460
461 461 diff -r c3c9e37db9f4 -r c655633f8c87 qp
462 462 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
463 463 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
464 464 @@ -0,0 +1,4 @@
465 465 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
466 466 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
467 467 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
468 468 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
469 469 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
470 470 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
471 471 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
472 472 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
473 473 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
474 474 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
475 475 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
476 476 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
477 477 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
478 478 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
479 479 +foo
480 480 +
481 481 +bar
482 482
483 483 --===
484 484 % test inline for multiple patches
485 485 This patch series consists of 3 patches.
486 486
487 487
488 488 Write the introductory message for the patch series.
489 489
490 490
491 491 Displaying [PATCH 0 of 3] test ...
492 492 Content-Type: text/plain; charset="us-ascii"
493 493 MIME-Version: 1.0
494 494 Content-Transfer-Encoding: 7bit
495 495 Subject: [PATCH 0 of 3] test
496 496 Message-Id: <patchbomb.60@
497 497 User-Agent: Mercurial-patchbomb
498 498 Date: Thu, 01 Jan 1970 00:01:00 +0000
499 499 From: quux
500 500 To: foo
501 501 Cc: bar
502 502
503 503
504 504 Displaying [PATCH 1 of 3] a ...
505 505 Content-Type: multipart/mixed; boundary="===
506 506 MIME-Version: 1.0
507 507 Subject: [PATCH 1 of 3] a
508 508 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
509 509 Message-Id: <8580ff50825a50c8f716.61@
510 510 In-Reply-To: <patchbomb.60@
511 511 References: <patchbomb.60@
512 512 User-Agent: Mercurial-patchbomb
513 513 Date: Thu, 01 Jan 1970 00:01:01 +0000
514 514 From: quux
515 515 To: foo
516 516 Cc: bar
517 517
518 518 --===
519 519 Content-Type: text/x-patch; charset="us-ascii"
520 520 MIME-Version: 1.0
521 521 Content-Transfer-Encoding: 7bit
522 522 Content-Disposition: inline; filename=t2-1.patch
523 523
524 524 # HG changeset patch
525 525 # User test
526 526 # Date 1 0
527 527 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
528 528 # Parent 0000000000000000000000000000000000000000
529 529 a
530 530
531 531 diff -r 000000000000 -r 8580ff50825a a
532 532 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
533 533 +++ b/a Thu Jan 01 00:00:01 1970 +0000
534 534 @@ -0,0 +1,1 @@
535 535 +a
536 536
537 537 --===
538 538 Displaying [PATCH 2 of 3] b ...
539 539 Content-Type: multipart/mixed; boundary="===
540 540 MIME-Version: 1.0
541 541 Subject: [PATCH 2 of 3] b
542 542 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
543 543 Message-Id: <97d72e5f12c7e84f8506.62@
544 544 In-Reply-To: <patchbomb.60@
545 545 References: <patchbomb.60@
546 546 User-Agent: Mercurial-patchbomb
547 547 Date: Thu, 01 Jan 1970 00:01:02 +0000
548 548 From: quux
549 549 To: foo
550 550 Cc: bar
551 551
552 552 --===
553 553 Content-Type: text/x-patch; charset="us-ascii"
554 554 MIME-Version: 1.0
555 555 Content-Transfer-Encoding: 7bit
556 556 Content-Disposition: inline; filename=t2-2.patch
557 557
558 558 # HG changeset patch
559 559 # User test
560 560 # Date 2 0
561 561 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
562 562 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
563 563 b
564 564
565 565 diff -r 8580ff50825a -r 97d72e5f12c7 b
566 566 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
567 567 +++ b/b Thu Jan 01 00:00:02 1970 +0000
568 568 @@ -0,0 +1,1 @@
569 569 +b
570 570
571 571 --===
572 572 Displaying [PATCH 3 of 3] charset=utf-8; content-transfer-encoding: quoted-printable ...
573 573 Content-Type: multipart/mixed; boundary="===
574 574 MIME-Version: 1.0
575 575 Subject: [PATCH 3 of 3] charset=utf-8;
576 576 content-transfer-encoding: quoted-printable
577 577 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
578 578 Message-Id: <c655633f8c87700bb38c.63@
579 579 In-Reply-To: <patchbomb.60@
580 580 References: <patchbomb.60@
581 581 User-Agent: Mercurial-patchbomb
582 582 Date: Thu, 01 Jan 1970 00:01:03 +0000
583 583 From: quux
584 584 To: foo
585 585 Cc: bar
586 586
587 587 --===
588 588 Content-Type: text/x-patch; charset="us-ascii"
589 589 MIME-Version: 1.0
590 590 Content-Transfer-Encoding: quoted-printable
591 591 Content-Disposition: inline; filename=t2-3.patch
592 592
593 593 # HG changeset patch
594 594 # User test
595 595 # Date 4 0
596 596 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
597 597 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
598 598 charset=3Dutf-8; content-transfer-encoding: quoted-printable
599 599
600 600 diff -r c3c9e37db9f4 -r c655633f8c87 qp
601 601 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
602 602 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
603 603 @@ -0,0 +1,4 @@
604 604 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
605 605 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
606 606 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
607 607 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
608 608 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
609 609 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
610 610 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
611 611 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
612 612 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
613 613 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
614 614 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
615 615 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
616 616 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
617 617 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
618 618 +foo
619 619 +
620 620 +bar
621 621
622 622 --===
623 623 % test attach for single patch
624 624 This patch series consists of 1 patches.
625 625
626 626
627 627 Displaying [PATCH] test ...
628 628 Content-Type: multipart/mixed; boundary="===
629 629 MIME-Version: 1.0
630 630 Subject: [PATCH] test
631 631 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
632 632 Message-Id: <ff2c9fa2018b15fa74b3.60@
633 633 User-Agent: Mercurial-patchbomb
634 634 Date: Thu, 01 Jan 1970 00:01:00 +0000
635 635 From: quux
636 636 To: foo
637 637 Cc: bar
638 638
639 639 --===
640 640 Content-Type: text/plain; charset="us-ascii"
641 641 MIME-Version: 1.0
642 642 Content-Transfer-Encoding: 7bit
643 643
644 644 Patch subject is complete summary.
645 645
646 646
647 647
648 648 --===
649 649 Content-Type: text/x-patch; charset="us-ascii"
650 650 MIME-Version: 1.0
651 651 Content-Transfer-Encoding: 7bit
652 652 Content-Disposition: attachment; filename=t2.patch
653 653
654 654 # HG changeset patch
655 655 # User test
656 656 # Date 3 0
657 657 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
658 658 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
659 659 c
660 660
661 661 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
662 662 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
663 663 +++ b/c Thu Jan 01 00:00:03 1970 +0000
664 664 @@ -0,0 +1,1 @@
665 665 +c
666 666
667 667 --===
668 668 % test attach for single patch (quoted-printable)
669 669 This patch series consists of 1 patches.
670 670
671 671
672 672 Displaying [PATCH] test ...
673 673 Content-Type: multipart/mixed; boundary="===
674 674 MIME-Version: 1.0
675 675 Subject: [PATCH] test
676 676 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
677 677 Message-Id: <c655633f8c87700bb38c.60@
678 678 User-Agent: Mercurial-patchbomb
679 679 Date: Thu, 01 Jan 1970 00:01:00 +0000
680 680 From: quux
681 681 To: foo
682 682 Cc: bar
683 683
684 684 --===
685 685 Content-Type: text/plain; charset="us-ascii"
686 686 MIME-Version: 1.0
687 687 Content-Transfer-Encoding: 7bit
688 688
689 689 Patch subject is complete summary.
690 690
691 691
692 692
693 693 --===
694 694 Content-Type: text/x-patch; charset="us-ascii"
695 695 MIME-Version: 1.0
696 696 Content-Transfer-Encoding: quoted-printable
697 697 Content-Disposition: attachment; filename=t2.patch
698 698
699 699 # HG changeset patch
700 700 # User test
701 701 # Date 4 0
702 702 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
703 703 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
704 704 charset=3Dutf-8; content-transfer-encoding: quoted-printable
705 705
706 706 diff -r c3c9e37db9f4 -r c655633f8c87 qp
707 707 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
708 708 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
709 709 @@ -0,0 +1,4 @@
710 710 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
711 711 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
712 712 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
713 713 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
714 714 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
715 715 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
716 716 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
717 717 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
718 718 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
719 719 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
720 720 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
721 721 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
722 722 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
723 723 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
724 724 +foo
725 725 +
726 726 +bar
727 727
728 728 --===
729 729 % test attach for multiple patches
730 730 This patch series consists of 3 patches.
731 731
732 732
733 733 Write the introductory message for the patch series.
734 734
735 735
736 736 Displaying [PATCH 0 of 3] test ...
737 737 Content-Type: text/plain; charset="us-ascii"
738 738 MIME-Version: 1.0
739 739 Content-Transfer-Encoding: 7bit
740 740 Subject: [PATCH 0 of 3] test
741 741 Message-Id: <patchbomb.60@
742 742 User-Agent: Mercurial-patchbomb
743 743 Date: Thu, 01 Jan 1970 00:01:00 +0000
744 744 From: quux
745 745 To: foo
746 746 Cc: bar
747 747
748 748
749 749 Displaying [PATCH 1 of 3] a ...
750 750 Content-Type: multipart/mixed; boundary="===
751 751 MIME-Version: 1.0
752 752 Subject: [PATCH 1 of 3] a
753 753 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
754 754 Message-Id: <8580ff50825a50c8f716.61@
755 755 In-Reply-To: <patchbomb.60@
756 756 References: <patchbomb.60@
757 757 User-Agent: Mercurial-patchbomb
758 758 Date: Thu, 01 Jan 1970 00:01:01 +0000
759 759 From: quux
760 760 To: foo
761 761 Cc: bar
762 762
763 763 --===
764 764 Content-Type: text/plain; charset="us-ascii"
765 765 MIME-Version: 1.0
766 766 Content-Transfer-Encoding: 7bit
767 767
768 768 Patch subject is complete summary.
769 769
770 770
771 771
772 772 --===
773 773 Content-Type: text/x-patch; charset="us-ascii"
774 774 MIME-Version: 1.0
775 775 Content-Transfer-Encoding: 7bit
776 776 Content-Disposition: attachment; filename=t2-1.patch
777 777
778 778 # HG changeset patch
779 779 # User test
780 780 # Date 1 0
781 781 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
782 782 # Parent 0000000000000000000000000000000000000000
783 783 a
784 784
785 785 diff -r 000000000000 -r 8580ff50825a a
786 786 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
787 787 +++ b/a Thu Jan 01 00:00:01 1970 +0000
788 788 @@ -0,0 +1,1 @@
789 789 +a
790 790
791 791 --===
792 792 Displaying [PATCH 2 of 3] b ...
793 793 Content-Type: multipart/mixed; boundary="===
794 794 MIME-Version: 1.0
795 795 Subject: [PATCH 2 of 3] b
796 796 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
797 797 Message-Id: <97d72e5f12c7e84f8506.62@
798 798 In-Reply-To: <patchbomb.60@
799 799 References: <patchbomb.60@
800 800 User-Agent: Mercurial-patchbomb
801 801 Date: Thu, 01 Jan 1970 00:01:02 +0000
802 802 From: quux
803 803 To: foo
804 804 Cc: bar
805 805
806 806 --===
807 807 Content-Type: text/plain; charset="us-ascii"
808 808 MIME-Version: 1.0
809 809 Content-Transfer-Encoding: 7bit
810 810
811 811 Patch subject is complete summary.
812 812
813 813
814 814
815 815 --===
816 816 Content-Type: text/x-patch; charset="us-ascii"
817 817 MIME-Version: 1.0
818 818 Content-Transfer-Encoding: 7bit
819 819 Content-Disposition: attachment; filename=t2-2.patch
820 820
821 821 # HG changeset patch
822 822 # User test
823 823 # Date 2 0
824 824 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
825 825 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
826 826 b
827 827
828 828 diff -r 8580ff50825a -r 97d72e5f12c7 b
829 829 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
830 830 +++ b/b Thu Jan 01 00:00:02 1970 +0000
831 831 @@ -0,0 +1,1 @@
832 832 +b
833 833
834 834 --===
835 835 Displaying [PATCH 3 of 3] charset=utf-8; content-transfer-encoding: quoted-printable ...
836 836 Content-Type: multipart/mixed; boundary="===
837 837 MIME-Version: 1.0
838 838 Subject: [PATCH 3 of 3] charset=utf-8;
839 839 content-transfer-encoding: quoted-printable
840 840 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
841 841 Message-Id: <c655633f8c87700bb38c.63@
842 842 In-Reply-To: <patchbomb.60@
843 843 References: <patchbomb.60@
844 844 User-Agent: Mercurial-patchbomb
845 845 Date: Thu, 01 Jan 1970 00:01:03 +0000
846 846 From: quux
847 847 To: foo
848 848 Cc: bar
849 849
850 850 --===
851 851 Content-Type: text/plain; charset="us-ascii"
852 852 MIME-Version: 1.0
853 853 Content-Transfer-Encoding: 7bit
854 854
855 855 Patch subject is complete summary.
856 856
857 857
858 858
859 859 --===
860 860 Content-Type: text/x-patch; charset="us-ascii"
861 861 MIME-Version: 1.0
862 862 Content-Transfer-Encoding: quoted-printable
863 863 Content-Disposition: attachment; filename=t2-3.patch
864 864
865 865 # HG changeset patch
866 866 # User test
867 867 # Date 4 0
868 868 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
869 869 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
870 870 charset=3Dutf-8; content-transfer-encoding: quoted-printable
871 871
872 872 diff -r c3c9e37db9f4 -r c655633f8c87 qp
873 873 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
874 874 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
875 875 @@ -0,0 +1,4 @@
876 876 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
877 877 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
878 878 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
879 879 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
880 880 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
881 881 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
882 882 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
883 883 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
884 884 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
885 885 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
886 886 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
887 887 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
888 888 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
889 889 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
890 890 +foo
891 891 +
892 892 +bar
893 893
894 894 --===
895 895 % test intro for single patch
896 896 This patch series consists of 1 patches.
897 897
898 898
899 899 Write the introductory message for the patch series.
900 900
901 901
902 902 Displaying [PATCH 0 of 1] test ...
903 903 Content-Type: text/plain; charset="us-ascii"
904 904 MIME-Version: 1.0
905 905 Content-Transfer-Encoding: 7bit
906 906 Subject: [PATCH 0 of 1] test
907 907 Message-Id: <patchbomb.60@
908 908 User-Agent: Mercurial-patchbomb
909 909 Date: Thu, 01 Jan 1970 00:01:00 +0000
910 910 From: quux
911 911 To: foo
912 912 Cc: bar
913 913
914 914
915 915 Displaying [PATCH 1 of 1] c ...
916 916 Content-Type: text/plain; charset="us-ascii"
917 917 MIME-Version: 1.0
918 918 Content-Transfer-Encoding: 7bit
919 919 Subject: [PATCH 1 of 1] c
920 920 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
921 921 Message-Id: <ff2c9fa2018b15fa74b3.61@
922 922 In-Reply-To: <patchbomb.60@
923 923 References: <patchbomb.60@
924 924 User-Agent: Mercurial-patchbomb
925 925 Date: Thu, 01 Jan 1970 00:01:01 +0000
926 926 From: quux
927 927 To: foo
928 928 Cc: bar
929 929
930 930 # HG changeset patch
931 931 # User test
932 932 # Date 3 0
933 933 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
934 934 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
935 935 c
936 936
937 937 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
938 938 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
939 939 +++ b/c Thu Jan 01 00:00:03 1970 +0000
940 940 @@ -0,0 +1,1 @@
941 941 +c
942 942
943 943 % test --desc without --intro for a single patch
944 944 This patch series consists of 1 patches.
945 945
946 946
947 947 Displaying [PATCH 0 of 1] test ...
948 948 Content-Type: text/plain; charset="us-ascii"
949 949 MIME-Version: 1.0
950 950 Content-Transfer-Encoding: 7bit
951 951 Subject: [PATCH 0 of 1] test
952 952 Message-Id: <patchbomb.60@
953 953 User-Agent: Mercurial-patchbomb
954 954 Date: Thu, 01 Jan 1970 00:01:00 +0000
955 955 From: quux
956 956 To: foo
957 957 Cc: bar
958 958
959 959 foo
960 960
961 961 Displaying [PATCH 1 of 1] c ...
962 962 Content-Type: text/plain; charset="us-ascii"
963 963 MIME-Version: 1.0
964 964 Content-Transfer-Encoding: 7bit
965 965 Subject: [PATCH 1 of 1] c
966 966 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
967 967 Message-Id: <ff2c9fa2018b15fa74b3.61@
968 968 In-Reply-To: <patchbomb.60@
969 969 References: <patchbomb.60@
970 970 User-Agent: Mercurial-patchbomb
971 971 Date: Thu, 01 Jan 1970 00:01:01 +0000
972 972 From: quux
973 973 To: foo
974 974 Cc: bar
975 975
976 976 # HG changeset patch
977 977 # User test
978 978 # Date 3 0
979 979 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
980 980 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
981 981 c
982 982
983 983 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
984 984 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
985 985 +++ b/c Thu Jan 01 00:00:03 1970 +0000
986 986 @@ -0,0 +1,1 @@
987 987 +c
988 988
989 989 % test intro for multiple patches
990 990 This patch series consists of 2 patches.
991 991
992 992
993 993 Write the introductory message for the patch series.
994 994
995 995
996 996 Displaying [PATCH 0 of 2] test ...
997 997 Content-Type: text/plain; charset="us-ascii"
998 998 MIME-Version: 1.0
999 999 Content-Transfer-Encoding: 7bit
1000 1000 Subject: [PATCH 0 of 2] test
1001 1001 Message-Id: <patchbomb.60@
1002 1002 User-Agent: Mercurial-patchbomb
1003 1003 Date: Thu, 01 Jan 1970 00:01:00 +0000
1004 1004 From: quux
1005 1005 To: foo
1006 1006 Cc: bar
1007 1007
1008 1008
1009 1009 Displaying [PATCH 1 of 2] a ...
1010 1010 Content-Type: text/plain; charset="us-ascii"
1011 1011 MIME-Version: 1.0
1012 1012 Content-Transfer-Encoding: 7bit
1013 1013 Subject: [PATCH 1 of 2] a
1014 1014 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1015 1015 Message-Id: <8580ff50825a50c8f716.61@
1016 1016 In-Reply-To: <patchbomb.60@
1017 1017 References: <patchbomb.60@
1018 1018 User-Agent: Mercurial-patchbomb
1019 1019 Date: Thu, 01 Jan 1970 00:01:01 +0000
1020 1020 From: quux
1021 1021 To: foo
1022 1022 Cc: bar
1023 1023
1024 1024 # HG changeset patch
1025 1025 # User test
1026 1026 # Date 1 0
1027 1027 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1028 1028 # Parent 0000000000000000000000000000000000000000
1029 1029 a
1030 1030
1031 1031 diff -r 000000000000 -r 8580ff50825a a
1032 1032 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1033 1033 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1034 1034 @@ -0,0 +1,1 @@
1035 1035 +a
1036 1036
1037 1037 Displaying [PATCH 2 of 2] b ...
1038 1038 Content-Type: text/plain; charset="us-ascii"
1039 1039 MIME-Version: 1.0
1040 1040 Content-Transfer-Encoding: 7bit
1041 1041 Subject: [PATCH 2 of 2] b
1042 1042 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1043 1043 Message-Id: <97d72e5f12c7e84f8506.62@
1044 1044 In-Reply-To: <patchbomb.60@
1045 1045 References: <patchbomb.60@
1046 1046 User-Agent: Mercurial-patchbomb
1047 1047 Date: Thu, 01 Jan 1970 00:01:02 +0000
1048 1048 From: quux
1049 1049 To: foo
1050 1050 Cc: bar
1051 1051
1052 1052 # HG changeset patch
1053 1053 # User test
1054 1054 # Date 2 0
1055 1055 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1056 1056 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1057 1057 b
1058 1058
1059 1059 diff -r 8580ff50825a -r 97d72e5f12c7 b
1060 1060 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1061 1061 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1062 1062 @@ -0,0 +1,1 @@
1063 1063 +b
1064 1064
1065 % test reply-to via config
1066 This patch series consists of 1 patches.
1067
1068
1069 Displaying [PATCH] test ...
1070 Content-Type: text/plain; charset="us-ascii"
1071 MIME-Version: 1.0
1072 Content-Transfer-Encoding: 7bit
1073 Subject: [PATCH] test
1074 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1075 Message-Id: <ff2c9fa2018b15fa74b3.60@
1076 User-Agent: Mercurial-patchbomb
1077 Date: Thu, 01 Jan 1970 00:01:00 +0000
1078 From: quux
1079 To: foo
1080 Cc: bar
1081 Reply-To: baz@example.com
1082
1083 # HG changeset patch
1084 # User test
1085 # Date 3 0
1086 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1087 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1088 c
1089
1090 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1091 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1092 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1093 @@ -0,0 +1,1 @@
1094 +c
1095
1096 % test reply-to via command line
1097 This patch series consists of 1 patches.
1098
1099
1100 Displaying [PATCH] test ...
1101 Content-Type: text/plain; charset="us-ascii"
1102 MIME-Version: 1.0
1103 Content-Transfer-Encoding: 7bit
1104 Subject: [PATCH] test
1105 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1106 Message-Id: <ff2c9fa2018b15fa74b3.60@
1107 User-Agent: Mercurial-patchbomb
1108 Date: Thu, 01 Jan 1970 00:01:00 +0000
1109 From: quux
1110 To: foo
1111 Cc: bar
1112 Reply-To: baz, fred
1113
1114 # HG changeset patch
1115 # User test
1116 # Date 3 0
1117 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1118 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1119 c
1120
1121 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1122 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1123 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1124 @@ -0,0 +1,1 @@
1125 +c
1126
1065 1127 % tagging csets
1066 1128 % test inline for single named patch
1067 1129 This patch series consists of 1 patches.
1068 1130
1069 1131
1070 1132 Displaying [PATCH] test ...
1071 1133 Content-Type: multipart/mixed; boundary="===
1072 1134 MIME-Version: 1.0
1073 1135 Subject: [PATCH] test
1074 1136 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1075 1137 Message-Id: <ff2c9fa2018b15fa74b3.60@
1076 1138 User-Agent: Mercurial-patchbomb
1077 1139 Date: Thu, 01 Jan 1970 00:01:00 +0000
1078 1140 From: quux
1079 1141 To: foo
1080 1142 Cc: bar
1081 1143
1082 1144 --===
1083 1145 Content-Type: text/x-patch; charset="us-ascii"
1084 1146 MIME-Version: 1.0
1085 1147 Content-Transfer-Encoding: 7bit
1086 1148 Content-Disposition: inline; filename=two.diff
1087 1149
1088 1150 # HG changeset patch
1089 1151 # User test
1090 1152 # Date 3 0
1091 1153 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1092 1154 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1093 1155 c
1094 1156
1095 1157 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1096 1158 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1097 1159 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1098 1160 @@ -0,0 +1,1 @@
1099 1161 +c
1100 1162
1101 1163 --===
1102 1164 % test inline for multiple named/unnamed patches
1103 1165 This patch series consists of 2 patches.
1104 1166
1105 1167
1106 1168 Write the introductory message for the patch series.
1107 1169
1108 1170
1109 1171 Displaying [PATCH 0 of 2] test ...
1110 1172 Content-Type: text/plain; charset="us-ascii"
1111 1173 MIME-Version: 1.0
1112 1174 Content-Transfer-Encoding: 7bit
1113 1175 Subject: [PATCH 0 of 2] test
1114 1176 Message-Id: <patchbomb.60@
1115 1177 User-Agent: Mercurial-patchbomb
1116 1178 Date: Thu, 01 Jan 1970 00:01:00 +0000
1117 1179 From: quux
1118 1180 To: foo
1119 1181 Cc: bar
1120 1182
1121 1183
1122 1184 Displaying [PATCH 1 of 2] a ...
1123 1185 Content-Type: multipart/mixed; boundary="===
1124 1186 MIME-Version: 1.0
1125 1187 Subject: [PATCH 1 of 2] a
1126 1188 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1127 1189 Message-Id: <8580ff50825a50c8f716.61@
1128 1190 In-Reply-To: <patchbomb.60@
1129 1191 References: <patchbomb.60@
1130 1192 User-Agent: Mercurial-patchbomb
1131 1193 Date: Thu, 01 Jan 1970 00:01:01 +0000
1132 1194 From: quux
1133 1195 To: foo
1134 1196 Cc: bar
1135 1197
1136 1198 --===
1137 1199 Content-Type: text/x-patch; charset="us-ascii"
1138 1200 MIME-Version: 1.0
1139 1201 Content-Transfer-Encoding: 7bit
1140 1202 Content-Disposition: inline; filename=t2-1.patch
1141 1203
1142 1204 # HG changeset patch
1143 1205 # User test
1144 1206 # Date 1 0
1145 1207 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1146 1208 # Parent 0000000000000000000000000000000000000000
1147 1209 a
1148 1210
1149 1211 diff -r 000000000000 -r 8580ff50825a a
1150 1212 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1151 1213 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1152 1214 @@ -0,0 +1,1 @@
1153 1215 +a
1154 1216
1155 1217 --===
1156 1218 Displaying [PATCH 2 of 2] b ...
1157 1219 Content-Type: multipart/mixed; boundary="===
1158 1220 MIME-Version: 1.0
1159 1221 Subject: [PATCH 2 of 2] b
1160 1222 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1161 1223 Message-Id: <97d72e5f12c7e84f8506.62@
1162 1224 In-Reply-To: <patchbomb.60@
1163 1225 References: <patchbomb.60@
1164 1226 User-Agent: Mercurial-patchbomb
1165 1227 Date: Thu, 01 Jan 1970 00:01:02 +0000
1166 1228 From: quux
1167 1229 To: foo
1168 1230 Cc: bar
1169 1231
1170 1232 --===
1171 1233 Content-Type: text/x-patch; charset="us-ascii"
1172 1234 MIME-Version: 1.0
1173 1235 Content-Transfer-Encoding: 7bit
1174 1236 Content-Disposition: inline; filename=one.patch
1175 1237
1176 1238 # HG changeset patch
1177 1239 # User test
1178 1240 # Date 2 0
1179 1241 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1180 1242 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1181 1243 b
1182 1244
1183 1245 diff -r 8580ff50825a -r 97d72e5f12c7 b
1184 1246 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1185 1247 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1186 1248 @@ -0,0 +1,1 @@
1187 1249 +b
1188 1250
1189 1251 --===
1190 1252 % test inreplyto
1191 1253 This patch series consists of 1 patches.
1192 1254
1193 1255
1194 1256 Displaying [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b ...
1195 1257 Content-Type: text/plain; charset="us-ascii"
1196 1258 MIME-Version: 1.0
1197 1259 Content-Transfer-Encoding: 7bit
1198 1260 Subject: [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b
1199 1261 X-Mercurial-Node: e317db6a6f288748d1f6cb064f3810fcba66b1b6
1200 1262 Message-Id: <e317db6a6f288748d1f6.60@
1201 1263 In-Reply-To: <baz>
1202 1264 References: <baz>
1203 1265 User-Agent: Mercurial-patchbomb
1204 1266 Date: Thu, 01 Jan 1970 00:01:00 +0000
1205 1267 From: quux
1206 1268 To: foo
1207 1269 Cc: bar
1208 1270
1209 1271 # HG changeset patch
1210 1272 # User test
1211 1273 # Date 0 0
1212 1274 # Node ID e317db6a6f288748d1f6cb064f3810fcba66b1b6
1213 1275 # Parent eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
1214 1276 Added tag two, two.diff for changeset ff2c9fa2018b
1215 1277
1216 1278 diff -r eae5fcf795ee -r e317db6a6f28 .hgtags
1217 1279 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1218 1280 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1219 1281 @@ -2,3 +2,5 @@
1220 1282 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1221 1283 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
1222 1284 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
1223 1285 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two
1224 1286 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff
1225 1287
1226 1288 abort: Subject: [PATCH 0 of 2] Please enter a valid value
1227 1289 This patch series consists of 2 patches.
1228 1290
1229 1291 This patch series consists of 2 patches.
1230 1292
1231 1293
1232 1294 Write the introductory message for the patch series.
1233 1295
1234 1296
1235 1297 Displaying [PATCH 0 of 2] test ...
1236 1298 Content-Type: text/plain; charset="us-ascii"
1237 1299 MIME-Version: 1.0
1238 1300 Content-Transfer-Encoding: 7bit
1239 1301 Subject: [PATCH 0 of 2] test
1240 1302 Message-Id: <patchbomb.60@
1241 1303 In-Reply-To: <baz>
1242 1304 References: <baz>
1243 1305 User-Agent: Mercurial-patchbomb
1244 1306 Date: Thu, 01 Jan 1970 00:01:00 +0000
1245 1307 From: quux
1246 1308 To: foo
1247 1309 Cc: bar
1248 1310
1249 1311
1250 1312 Displaying [PATCH 1 of 2] a ...
1251 1313 Content-Type: text/plain; charset="us-ascii"
1252 1314 MIME-Version: 1.0
1253 1315 Content-Transfer-Encoding: 7bit
1254 1316 Subject: [PATCH 1 of 2] a
1255 1317 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1256 1318 Message-Id: <8580ff50825a50c8f716.61@
1257 1319 In-Reply-To: <patchbomb.60@
1258 1320 References: <patchbomb.60@
1259 1321 User-Agent: Mercurial-patchbomb
1260 1322 Date: Thu, 01 Jan 1970 00:01:01 +0000
1261 1323 From: quux
1262 1324 To: foo
1263 1325 Cc: bar
1264 1326
1265 1327 # HG changeset patch
1266 1328 # User test
1267 1329 # Date 1 0
1268 1330 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1269 1331 # Parent 0000000000000000000000000000000000000000
1270 1332 a
1271 1333
1272 1334 diff -r 000000000000 -r 8580ff50825a a
1273 1335 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1274 1336 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1275 1337 @@ -0,0 +1,1 @@
1276 1338 +a
1277 1339
1278 1340 Displaying [PATCH 2 of 2] b ...
1279 1341 Content-Type: text/plain; charset="us-ascii"
1280 1342 MIME-Version: 1.0
1281 1343 Content-Transfer-Encoding: 7bit
1282 1344 Subject: [PATCH 2 of 2] b
1283 1345 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1284 1346 Message-Id: <97d72e5f12c7e84f8506.62@
1285 1347 In-Reply-To: <patchbomb.60@
1286 1348 References: <patchbomb.60@
1287 1349 User-Agent: Mercurial-patchbomb
1288 1350 Date: Thu, 01 Jan 1970 00:01:02 +0000
1289 1351 From: quux
1290 1352 To: foo
1291 1353 Cc: bar
1292 1354
1293 1355 # HG changeset patch
1294 1356 # User test
1295 1357 # Date 2 0
1296 1358 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1297 1359 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1298 1360 b
1299 1361
1300 1362 diff -r 8580ff50825a -r 97d72e5f12c7 b
1301 1363 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1302 1364 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1303 1365 @@ -0,0 +1,1 @@
1304 1366 +b
1305 1367
1306 1368 % test single flag for single patch
1307 1369 This patch series consists of 1 patches.
1308 1370
1309 1371
1310 1372 Displaying [PATCH fooFlag] test ...
1311 1373 Content-Type: text/plain; charset="us-ascii"
1312 1374 MIME-Version: 1.0
1313 1375 Content-Transfer-Encoding: 7bit
1314 1376 Subject: [PATCH fooFlag] test
1315 1377 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1316 1378 Message-Id: <ff2c9fa2018b15fa74b3.60@
1317 1379 User-Agent: Mercurial-patchbomb
1318 1380 Date: Thu, 01 Jan 1970 00:01:00 +0000
1319 1381 From: quux
1320 1382 To: foo
1321 1383 Cc: bar
1322 1384
1323 1385 # HG changeset patch
1324 1386 # User test
1325 1387 # Date 3 0
1326 1388 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1327 1389 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1328 1390 c
1329 1391
1330 1392 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1331 1393 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1332 1394 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1333 1395 @@ -0,0 +1,1 @@
1334 1396 +c
1335 1397
1336 1398 % test single flag for multiple patches
1337 1399 This patch series consists of 2 patches.
1338 1400
1339 1401
1340 1402 Write the introductory message for the patch series.
1341 1403
1342 1404
1343 1405 Displaying [PATCH 0 of 2 fooFlag] test ...
1344 1406 Content-Type: text/plain; charset="us-ascii"
1345 1407 MIME-Version: 1.0
1346 1408 Content-Transfer-Encoding: 7bit
1347 1409 Subject: [PATCH 0 of 2 fooFlag] test
1348 1410 Message-Id: <patchbomb.60@
1349 1411 User-Agent: Mercurial-patchbomb
1350 1412 Date: Thu, 01 Jan 1970 00:01:00 +0000
1351 1413 From: quux
1352 1414 To: foo
1353 1415 Cc: bar
1354 1416
1355 1417
1356 1418 Displaying [PATCH 1 of 2 fooFlag] a ...
1357 1419 Content-Type: text/plain; charset="us-ascii"
1358 1420 MIME-Version: 1.0
1359 1421 Content-Transfer-Encoding: 7bit
1360 1422 Subject: [PATCH 1 of 2 fooFlag] a
1361 1423 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1362 1424 Message-Id: <8580ff50825a50c8f716.61@
1363 1425 In-Reply-To: <patchbomb.60@
1364 1426 References: <patchbomb.60@
1365 1427 User-Agent: Mercurial-patchbomb
1366 1428 Date: Thu, 01 Jan 1970 00:01:01 +0000
1367 1429 From: quux
1368 1430 To: foo
1369 1431 Cc: bar
1370 1432
1371 1433 # HG changeset patch
1372 1434 # User test
1373 1435 # Date 1 0
1374 1436 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1375 1437 # Parent 0000000000000000000000000000000000000000
1376 1438 a
1377 1439
1378 1440 diff -r 000000000000 -r 8580ff50825a a
1379 1441 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1380 1442 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1381 1443 @@ -0,0 +1,1 @@
1382 1444 +a
1383 1445
1384 1446 Displaying [PATCH 2 of 2 fooFlag] b ...
1385 1447 Content-Type: text/plain; charset="us-ascii"
1386 1448 MIME-Version: 1.0
1387 1449 Content-Transfer-Encoding: 7bit
1388 1450 Subject: [PATCH 2 of 2 fooFlag] b
1389 1451 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1390 1452 Message-Id: <97d72e5f12c7e84f8506.62@
1391 1453 In-Reply-To: <patchbomb.60@
1392 1454 References: <patchbomb.60@
1393 1455 User-Agent: Mercurial-patchbomb
1394 1456 Date: Thu, 01 Jan 1970 00:01:02 +0000
1395 1457 From: quux
1396 1458 To: foo
1397 1459 Cc: bar
1398 1460
1399 1461 # HG changeset patch
1400 1462 # User test
1401 1463 # Date 2 0
1402 1464 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1403 1465 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1404 1466 b
1405 1467
1406 1468 diff -r 8580ff50825a -r 97d72e5f12c7 b
1407 1469 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1408 1470 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1409 1471 @@ -0,0 +1,1 @@
1410 1472 +b
1411 1473
1412 1474 % test mutiple flags for single patch
1413 1475 This patch series consists of 1 patches.
1414 1476
1415 1477
1416 1478 Displaying [PATCH fooFlag barFlag] test ...
1417 1479 Content-Type: text/plain; charset="us-ascii"
1418 1480 MIME-Version: 1.0
1419 1481 Content-Transfer-Encoding: 7bit
1420 1482 Subject: [PATCH fooFlag barFlag] test
1421 1483 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1422 1484 Message-Id: <ff2c9fa2018b15fa74b3.60@
1423 1485 User-Agent: Mercurial-patchbomb
1424 1486 Date: Thu, 01 Jan 1970 00:01:00 +0000
1425 1487 From: quux
1426 1488 To: foo
1427 1489 Cc: bar
1428 1490
1429 1491 # HG changeset patch
1430 1492 # User test
1431 1493 # Date 3 0
1432 1494 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1433 1495 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1434 1496 c
1435 1497
1436 1498 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1437 1499 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1438 1500 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1439 1501 @@ -0,0 +1,1 @@
1440 1502 +c
1441 1503
1442 1504 % test multiple flags for multiple patches
1443 1505 This patch series consists of 2 patches.
1444 1506
1445 1507
1446 1508 Write the introductory message for the patch series.
1447 1509
1448 1510
1449 1511 Displaying [PATCH 0 of 2 fooFlag barFlag] test ...
1450 1512 Content-Type: text/plain; charset="us-ascii"
1451 1513 MIME-Version: 1.0
1452 1514 Content-Transfer-Encoding: 7bit
1453 1515 Subject: [PATCH 0 of 2 fooFlag barFlag] test
1454 1516 Message-Id: <patchbomb.60@
1455 1517 User-Agent: Mercurial-patchbomb
1456 1518 Date: Thu, 01 Jan 1970 00:01:00 +0000
1457 1519 From: quux
1458 1520 To: foo
1459 1521 Cc: bar
1460 1522
1461 1523
1462 1524 Displaying [PATCH 1 of 2 fooFlag barFlag] a ...
1463 1525 Content-Type: text/plain; charset="us-ascii"
1464 1526 MIME-Version: 1.0
1465 1527 Content-Transfer-Encoding: 7bit
1466 1528 Subject: [PATCH 1 of 2 fooFlag barFlag] a
1467 1529 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1468 1530 Message-Id: <8580ff50825a50c8f716.61@
1469 1531 In-Reply-To: <patchbomb.60@
1470 1532 References: <patchbomb.60@
1471 1533 User-Agent: Mercurial-patchbomb
1472 1534 Date: Thu, 01 Jan 1970 00:01:01 +0000
1473 1535 From: quux
1474 1536 To: foo
1475 1537 Cc: bar
1476 1538
1477 1539 # HG changeset patch
1478 1540 # User test
1479 1541 # Date 1 0
1480 1542 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1481 1543 # Parent 0000000000000000000000000000000000000000
1482 1544 a
1483 1545
1484 1546 diff -r 000000000000 -r 8580ff50825a a
1485 1547 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1486 1548 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1487 1549 @@ -0,0 +1,1 @@
1488 1550 +a
1489 1551
1490 1552 Displaying [PATCH 2 of 2 fooFlag barFlag] b ...
1491 1553 Content-Type: text/plain; charset="us-ascii"
1492 1554 MIME-Version: 1.0
1493 1555 Content-Transfer-Encoding: 7bit
1494 1556 Subject: [PATCH 2 of 2 fooFlag barFlag] b
1495 1557 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1496 1558 Message-Id: <97d72e5f12c7e84f8506.62@
1497 1559 In-Reply-To: <patchbomb.60@
1498 1560 References: <patchbomb.60@
1499 1561 User-Agent: Mercurial-patchbomb
1500 1562 Date: Thu, 01 Jan 1970 00:01:02 +0000
1501 1563 From: quux
1502 1564 To: foo
1503 1565 Cc: bar
1504 1566
1505 1567 # HG changeset patch
1506 1568 # User test
1507 1569 # Date 2 0
1508 1570 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1509 1571 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1510 1572 b
1511 1573
1512 1574 diff -r 8580ff50825a -r 97d72e5f12c7 b
1513 1575 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1514 1576 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1515 1577 @@ -0,0 +1,1 @@
1516 1578 +b
1517 1579
1518 1580 % test multi-address parsing
1519 1581 This patch series consists of 1 patches.
1520 1582
1521 1583
1522 1584 Writing [PATCH] test ...
1523 1585 From quux Tue Jan 01 00:01:01 1980
1524 1586 Content-Type: text/plain; charset="us-ascii"
1525 1587 MIME-Version: 1.0
1526 1588 Content-Transfer-Encoding: 7bit
1527 1589 Subject: [PATCH] test
1528 1590 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1529 1591 Message-Id: <8580ff50825a50c8f716.315532860@
1530 1592 User-Agent: Mercurial-patchbomb
1531 1593 Date: Tue, 01 Jan 1980 00:01:00 +0000
1532 1594 From: quux
1533 1595 To: spam <spam>, eggs, toast
1534 1596 Cc: foo, bar@example.com, "A, B <>" <a@example.com>
1535 1597 Bcc: "Quux, A." <quux>
1536 1598
1537 1599 # HG changeset patch
1538 1600 # User test
1539 1601 # Date 1 0
1540 1602 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1541 1603 # Parent 0000000000000000000000000000000000000000
1542 1604 a
1543 1605
1544 1606 diff -r 000000000000 -r 8580ff50825a a
1545 1607 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1546 1608 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1547 1609 @@ -0,0 +1,1 @@
1548 1610 +a
1549 1611
1550 1612
1551 1613 % test multi-byte domain parsing
1552 1614 This patch series consists of 1 patches.
1553 1615
1554 1616
1555 1617 Writing [PATCH] test ...
1556 1618 From quux Tue Jan 01 00:01:01 1980
1557 1619 Content-Type: text/plain; charset="us-ascii"
1558 1620 MIME-Version: 1.0
1559 1621 Content-Transfer-Encoding: 7bit
1560 1622 Subject: [PATCH] test
1561 1623 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1562 1624 Message-Id: <8580ff50825a50c8f716.315532860@
1563 1625 User-Agent: Mercurial-patchbomb
1564 1626 Date: Tue, 01 Jan 1980 00:01:00 +0000
1565 1627 From: quux
1566 1628 To: bar@xn--nicode-2ya.com
1567 1629
1568 1630 # HG changeset patch
1569 1631 # User test
1570 1632 # Date 1 0
1571 1633 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1572 1634 # Parent 0000000000000000000000000000000000000000
1573 1635 a
1574 1636
1575 1637 diff -r 000000000000 -r 8580ff50825a a
1576 1638 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1577 1639 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1578 1640 @@ -0,0 +1,1 @@
1579 1641 +a
1580 1642
1581 1643
1582 1644 % test outgoing
1583 1645 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
1584 1646 marked working directory as branch test
1585 1647 created new head
1586 1648 comparing with ../t
1587 1649 searching for changes
1588 1650 This patch series consists of 8 patches.
1589 1651
1590 1652
1591 1653 Write the introductory message for the patch series.
1592 1654
1593 1655
1594 1656 Displaying [PATCH 0 of 8] test ...
1595 1657 Content-Type: text/plain; charset="us-ascii"
1596 1658 MIME-Version: 1.0
1597 1659 Content-Transfer-Encoding: 7bit
1598 1660 Subject: [PATCH 0 of 8] test
1599 1661 Message-Id: <patchbomb.315532860@
1600 1662 User-Agent: Mercurial-patchbomb
1601 1663 Date: Tue, 01 Jan 1980 00:01:00 +0000
1602 1664 From: test
1603 1665 To: foo
1604 1666
1605 1667
1606 1668 Displaying [PATCH 1 of 8] c ...
1607 1669 Content-Type: text/plain; charset="us-ascii"
1608 1670 MIME-Version: 1.0
1609 1671 Content-Transfer-Encoding: 7bit
1610 1672 Subject: [PATCH 1 of 8] c
1611 1673 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1612 1674 Message-Id: <ff2c9fa2018b15fa74b3.315532861@
1613 1675 In-Reply-To: <patchbomb.315532860@
1614 1676 References: <patchbomb.315532860@
1615 1677 User-Agent: Mercurial-patchbomb
1616 1678 Date: Tue, 01 Jan 1980 00:01:01 +0000
1617 1679 From: test
1618 1680 To: foo
1619 1681
1620 1682 # HG changeset patch
1621 1683 # User test
1622 1684 # Date 3 0
1623 1685 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1624 1686 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1625 1687 c
1626 1688
1627 1689 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1628 1690 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1629 1691 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1630 1692 @@ -0,0 +1,1 @@
1631 1693 +c
1632 1694
1633 1695 Displaying [PATCH 2 of 8] charset=utf-8; content-transfer-encoding: base64 ...
1634 1696 Content-Type: text/plain; charset="us-ascii"
1635 1697 MIME-Version: 1.0
1636 1698 Content-Transfer-Encoding: 8bit
1637 1699 Subject: [PATCH 2 of 8] charset=utf-8; content-transfer-encoding: base64
1638 1700 X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
1639 1701 Message-Id: <c3c9e37db9f4fe4882cd.315532862@
1640 1702 In-Reply-To: <patchbomb.315532860@
1641 1703 References: <patchbomb.315532860@
1642 1704 User-Agent: Mercurial-patchbomb
1643 1705 Date: Tue, 01 Jan 1980 00:01:02 +0000
1644 1706 From: test
1645 1707 To: foo
1646 1708
1647 1709 # HG changeset patch
1648 1710 # User test
1649 1711 # Date 4 0
1650 1712 # Node ID c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
1651 1713 # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f
1652 1714 charset=utf-8; content-transfer-encoding: base64
1653 1715
1654 1716 diff -r ff2c9fa2018b -r c3c9e37db9f4 description
1655 1717 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1656 1718 +++ b/description Thu Jan 01 00:00:04 1970 +0000
1657 1719 @@ -0,0 +1,3 @@
1658 1720 +a multiline
1659 1721 +
1660 1722 +description
1661 1723 diff -r ff2c9fa2018b -r c3c9e37db9f4 utf
1662 1724 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1663 1725 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
1664 1726 @@ -0,0 +1,1 @@
1665 1727 +hömma!
1666 1728
1667 1729 Displaying [PATCH 3 of 8] charset=utf-8; content-transfer-encoding: quoted-printable ...
1668 1730 Content-Type: text/plain; charset="us-ascii"
1669 1731 MIME-Version: 1.0
1670 1732 Content-Transfer-Encoding: quoted-printable
1671 1733 Subject: [PATCH 3 of 8] charset=utf-8;
1672 1734 content-transfer-encoding: quoted-printable
1673 1735 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
1674 1736 Message-Id: <c655633f8c87700bb38c.315532863@
1675 1737 In-Reply-To: <patchbomb.315532860@
1676 1738 References: <patchbomb.315532860@
1677 1739 User-Agent: Mercurial-patchbomb
1678 1740 Date: Tue, 01 Jan 1980 00:01:03 +0000
1679 1741 From: test
1680 1742 To: foo
1681 1743
1682 1744 # HG changeset patch
1683 1745 # User test
1684 1746 # Date 4 0
1685 1747 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
1686 1748 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
1687 1749 charset=3Dutf-8; content-transfer-encoding: quoted-printable
1688 1750
1689 1751 diff -r c3c9e37db9f4 -r c655633f8c87 qp
1690 1752 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1691 1753 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
1692 1754 @@ -0,0 +1,4 @@
1693 1755 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1694 1756 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1695 1757 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1696 1758 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1697 1759 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1698 1760 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1699 1761 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1700 1762 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1701 1763 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1702 1764 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1703 1765 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1704 1766 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1705 1767 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1706 1768 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1707 1769 +foo
1708 1770 +
1709 1771 +bar
1710 1772
1711 1773 Displaying [PATCH 4 of 8] charset=us-ascii; content-transfer-encoding: 8bit ...
1712 1774 Content-Type: text/plain; charset="us-ascii"
1713 1775 MIME-Version: 1.0
1714 1776 Content-Transfer-Encoding: 8bit
1715 1777 Subject: [PATCH 4 of 8] charset=us-ascii; content-transfer-encoding: 8bit
1716 1778 X-Mercurial-Node: 22d0f96be12f5945fd67d101af58f7bc8263c835
1717 1779 Message-Id: <22d0f96be12f5945fd67.315532864@
1718 1780 In-Reply-To: <patchbomb.315532860@
1719 1781 References: <patchbomb.315532860@
1720 1782 User-Agent: Mercurial-patchbomb
1721 1783 Date: Tue, 01 Jan 1980 00:01:04 +0000
1722 1784 From: test
1723 1785 To: foo
1724 1786
1725 1787 # HG changeset patch
1726 1788 # User test
1727 1789 # Date 5 0
1728 1790 # Node ID 22d0f96be12f5945fd67d101af58f7bc8263c835
1729 1791 # Parent c655633f8c87700bb38cc6a59a2753bdc5a6c376
1730 1792 charset=us-ascii; content-transfer-encoding: 8bit
1731 1793
1732 1794 diff -r c655633f8c87 -r 22d0f96be12f isolatin
1733 1795 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1734 1796 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
1735 1797 @@ -0,0 +1,1 @@
1736 1798 +h�mma!
1737 1799
1738 1800 Displaying [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a ...
1739 1801 Content-Type: text/plain; charset="us-ascii"
1740 1802 MIME-Version: 1.0
1741 1803 Content-Transfer-Encoding: 7bit
1742 1804 Subject: [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a
1743 1805 X-Mercurial-Node: dd9c2b4b8a8a0934d5523c15f2c119b362360903
1744 1806 Message-Id: <dd9c2b4b8a8a0934d552.315532865@
1745 1807 In-Reply-To: <patchbomb.315532860@
1746 1808 References: <patchbomb.315532860@
1747 1809 User-Agent: Mercurial-patchbomb
1748 1810 Date: Tue, 01 Jan 1980 00:01:05 +0000
1749 1811 From: test
1750 1812 To: foo
1751 1813
1752 1814 # HG changeset patch
1753 1815 # User test
1754 1816 # Date 0 0
1755 1817 # Node ID dd9c2b4b8a8a0934d5523c15f2c119b362360903
1756 1818 # Parent 22d0f96be12f5945fd67d101af58f7bc8263c835
1757 1819 Added tag zero, zero.foo for changeset 8580ff50825a
1758 1820
1759 1821 diff -r 22d0f96be12f -r dd9c2b4b8a8a .hgtags
1760 1822 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1761 1823 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1762 1824 @@ -0,0 +1,2 @@
1763 1825 +8580ff50825a50c8f716709acdf8de0deddcd6ab zero
1764 1826 +8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1765 1827
1766 1828 Displaying [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7 ...
1767 1829 Content-Type: text/plain; charset="us-ascii"
1768 1830 MIME-Version: 1.0
1769 1831 Content-Transfer-Encoding: 7bit
1770 1832 Subject: [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7
1771 1833 X-Mercurial-Node: eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
1772 1834 Message-Id: <eae5fcf795eee29d0e45.315532866@
1773 1835 In-Reply-To: <patchbomb.315532860@
1774 1836 References: <patchbomb.315532860@
1775 1837 User-Agent: Mercurial-patchbomb
1776 1838 Date: Tue, 01 Jan 1980 00:01:06 +0000
1777 1839 From: test
1778 1840 To: foo
1779 1841
1780 1842 # HG changeset patch
1781 1843 # User test
1782 1844 # Date 0 0
1783 1845 # Node ID eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
1784 1846 # Parent dd9c2b4b8a8a0934d5523c15f2c119b362360903
1785 1847 Added tag one, one.patch for changeset 97d72e5f12c7
1786 1848
1787 1849 diff -r dd9c2b4b8a8a -r eae5fcf795ee .hgtags
1788 1850 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1789 1851 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1790 1852 @@ -1,2 +1,4 @@
1791 1853 8580ff50825a50c8f716709acdf8de0deddcd6ab zero
1792 1854 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1793 1855 +97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
1794 1856 +97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
1795 1857
1796 1858 Displaying [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b ...
1797 1859 Content-Type: text/plain; charset="us-ascii"
1798 1860 MIME-Version: 1.0
1799 1861 Content-Transfer-Encoding: 7bit
1800 1862 Subject: [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b
1801 1863 X-Mercurial-Node: e317db6a6f288748d1f6cb064f3810fcba66b1b6
1802 1864 Message-Id: <e317db6a6f288748d1f6.315532867@
1803 1865 In-Reply-To: <patchbomb.315532860@
1804 1866 References: <patchbomb.315532860@
1805 1867 User-Agent: Mercurial-patchbomb
1806 1868 Date: Tue, 01 Jan 1980 00:01:07 +0000
1807 1869 From: test
1808 1870 To: foo
1809 1871
1810 1872 # HG changeset patch
1811 1873 # User test
1812 1874 # Date 0 0
1813 1875 # Node ID e317db6a6f288748d1f6cb064f3810fcba66b1b6
1814 1876 # Parent eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
1815 1877 Added tag two, two.diff for changeset ff2c9fa2018b
1816 1878
1817 1879 diff -r eae5fcf795ee -r e317db6a6f28 .hgtags
1818 1880 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1819 1881 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1820 1882 @@ -2,3 +2,5 @@
1821 1883 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1822 1884 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
1823 1885 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
1824 1886 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two
1825 1887 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff
1826 1888
1827 1889 Displaying [PATCH 8 of 8] d ...
1828 1890 Content-Type: text/plain; charset="us-ascii"
1829 1891 MIME-Version: 1.0
1830 1892 Content-Transfer-Encoding: 7bit
1831 1893 Subject: [PATCH 8 of 8] d
1832 1894 X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
1833 1895 Message-Id: <2f9fa9b998c5fe3ac2bd.315532868@
1834 1896 In-Reply-To: <patchbomb.315532860@
1835 1897 References: <patchbomb.315532860@
1836 1898 User-Agent: Mercurial-patchbomb
1837 1899 Date: Tue, 01 Jan 1980 00:01:08 +0000
1838 1900 From: test
1839 1901 To: foo
1840 1902
1841 1903 # HG changeset patch
1842 1904 # User test
1843 1905 # Date 4 0
1844 1906 # Branch test
1845 1907 # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
1846 1908 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1847 1909 d
1848 1910
1849 1911 diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d
1850 1912 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1851 1913 +++ b/d Thu Jan 01 00:00:04 1970 +0000
1852 1914 @@ -0,0 +1,1 @@
1853 1915 +d
1854 1916
1855 1917 % dest#branch URIs
1856 1918 comparing with ../t
1857 1919 searching for changes
1858 1920 This patch series consists of 1 patches.
1859 1921
1860 1922
1861 1923 Displaying [PATCH] test ...
1862 1924 Content-Type: text/plain; charset="us-ascii"
1863 1925 MIME-Version: 1.0
1864 1926 Content-Transfer-Encoding: 7bit
1865 1927 Subject: [PATCH] test
1866 1928 X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
1867 1929 Message-Id: <2f9fa9b998c5fe3ac2bd.315532860@
1868 1930 User-Agent: Mercurial-patchbomb
1869 1931 Date: Tue, 01 Jan 1980 00:01:00 +0000
1870 1932 From: test
1871 1933 To: foo
1872 1934
1873 1935 # HG changeset patch
1874 1936 # User test
1875 1937 # Date 4 0
1876 1938 # Branch test
1877 1939 # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
1878 1940 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1879 1941 d
1880 1942
1881 1943 diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d
1882 1944 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1883 1945 +++ b/d Thu Jan 01 00:00:04 1970 +0000
1884 1946 @@ -0,0 +1,1 @@
1885 1947 +d
1886 1948
General Comments 0
You need to be logged in to leave comments. Login now