##// END OF EJS Templates
Merge with stable
Sune Foldager -
r10023:15fbbc93 merge default
parent child Browse files
Show More
@@ -1,518 +1,519 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, incorporated herein by reference.
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 37
38 38 Then you can use the "hg email" command to mail a series of changesets
39 39 as a patchbomb.
40 40
41 41 To avoid sending patches prematurely, it is a good idea to first run
42 42 the "email" command with the "-n" option (test only). You will be
43 43 prompted for an email recipient address, a subject and an introductory
44 44 message describing the patches of your patchbomb. Then when all is
45 45 done, patchbomb messages are displayed. If the PAGER environment
46 46 variable is set, your pager will be fired up once for each patchbomb
47 47 message, so you can verify everything is alright.
48 48
49 49 The -m/--mbox option is also very useful. Instead of previewing each
50 50 patchbomb message in a pager or sending the messages directly, it will
51 51 create a UNIX mailbox file with the patch emails. This mailbox file
52 52 can be previewed with any mail user agent which supports UNIX mbox
53 53 files, e.g. with mutt::
54 54
55 55 % mutt -R -f mbox
56 56
57 57 When you are previewing the patchbomb messages, you can use ``formail``
58 58 (a utility that is commonly installed as part of the procmail
59 59 package), to send each message out::
60 60
61 61 % formail -s sendmail -bm -t < mbox
62 62
63 63 That should be all. Now your patchbomb is on its way out.
64 64
65 65 You can also either configure the method option in the email section
66 66 to be a sendmail compatible mailer or fill out the [smtp] section so
67 67 that the patchbomb extension can automatically send patchbombs
68 68 directly from the commandline. See the [email] and [smtp] sections in
69 69 hgrc(5) for details.
70 70 '''
71 71
72 72 import os, errno, socket, tempfile, cStringIO, time
73 73 import email.MIMEMultipart, email.MIMEBase
74 74 import email.Utils, email.Encoders, email.Generator
75 75 from mercurial import cmdutil, commands, hg, mail, patch, util
76 76 from mercurial.i18n import _
77 77 from mercurial.node import bin
78 78
79 79 def prompt(ui, prompt, default=None, rest=':'):
80 80 if not ui.interactive():
81 81 if default is not None:
82 82 return default
83 83 raise util.Abort(_("%s Please enter a valid value" % (prompt+rest)))
84 84 if default:
85 85 prompt += ' [%s]' % default
86 86 prompt += rest
87 87 while True:
88 88 r = ui.prompt(prompt, default=default)
89 89 if r:
90 90 return r
91 91 if default is not None:
92 92 return default
93 93 ui.warn(_('Please enter a valid value.\n'))
94 94
95 95 def cdiffstat(ui, summary, patchlines):
96 96 s = patch.diffstat(patchlines)
97 97 if summary:
98 98 ui.write(summary, '\n')
99 99 ui.write(s, '\n')
100 100 ans = prompt(ui, _('does the diffstat above look okay?'), 'y')
101 101 if not ans.lower().startswith('y'):
102 102 raise util.Abort(_('diffstat rejected'))
103 103 return s
104 104
105 105 def makepatch(ui, repo, patch, opts, _charsets, idx, total, patchname=None):
106 106
107 107 desc = []
108 108 node = None
109 109 body = ''
110 110
111 111 for line in patch:
112 112 if line.startswith('#'):
113 113 if line.startswith('# Node ID'):
114 114 node = line.split()[-1]
115 115 continue
116 116 if line.startswith('diff -r') or line.startswith('diff --git'):
117 117 break
118 118 desc.append(line)
119 119
120 120 if not patchname and not node:
121 121 raise ValueError
122 122
123 123 if opts.get('attach'):
124 124 body = ('\n'.join(desc[1:]).strip() or
125 125 'Patch subject is complete summary.')
126 126 body += '\n\n\n'
127 127
128 128 if opts.get('plain'):
129 129 while patch and patch[0].startswith('# '):
130 130 patch.pop(0)
131 131 if patch:
132 132 patch.pop(0)
133 133 while patch and not patch[0].strip():
134 134 patch.pop(0)
135 135
136 136 if opts.get('diffstat'):
137 137 body += cdiffstat(ui, '\n'.join(desc), patch) + '\n\n'
138 138
139 139 if opts.get('attach') or opts.get('inline'):
140 140 msg = email.MIMEMultipart.MIMEMultipart()
141 141 if body:
142 142 msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test')))
143 143 p = mail.mimetextpatch('\n'.join(patch), 'x-patch', opts.get('test'))
144 144 binnode = bin(node)
145 145 # if node is mq patch, it will have the patch file's name as a tag
146 146 if not patchname:
147 147 patchtags = [t for t in repo.nodetags(binnode)
148 148 if t.endswith('.patch') or t.endswith('.diff')]
149 149 if patchtags:
150 150 patchname = patchtags[0]
151 151 elif total > 1:
152 152 patchname = cmdutil.make_filename(repo, '%b-%n.patch',
153 153 binnode, seqno=idx, total=total)
154 154 else:
155 155 patchname = cmdutil.make_filename(repo, '%b.patch', binnode)
156 156 disposition = 'inline'
157 157 if opts.get('attach'):
158 158 disposition = 'attachment'
159 159 p['Content-Disposition'] = disposition + '; filename=' + patchname
160 160 msg.attach(p)
161 161 else:
162 162 body += '\n'.join(patch)
163 163 msg = mail.mimetextpatch(body, display=opts.get('test'))
164 164
165 165 flag = ' '.join(opts.get('flag'))
166 166 if flag:
167 167 flag = ' ' + flag
168 168
169 169 subj = desc[0].strip().rstrip('. ')
170 170 if total == 1 and not opts.get('intro'):
171 171 subj = '[PATCH%s] %s' % (flag, opts.get('subject') or subj)
172 172 else:
173 173 tlen = len(str(total))
174 174 subj = '[PATCH %0*d of %d%s] %s' % (tlen, idx, total, flag, subj)
175 175 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test'))
176 176 msg['X-Mercurial-Node'] = node
177 177 return msg, subj
178 178
179 179 def patchbomb(ui, repo, *revs, **opts):
180 180 '''send changesets by email
181 181
182 182 By default, diffs are sent in the format generated by hg export,
183 183 one per message. The series starts with a "[PATCH 0 of N]"
184 184 introduction, which describes the series as a whole.
185 185
186 186 Each patch email has a Subject line of "[PATCH M of N] ...", using
187 187 the first line of the changeset description as the subject text.
188 188 The message contains two or three parts. First, the changeset
189 189 description. Next, (optionally) if the diffstat program is
190 190 installed and -d/--diffstat is used, the result of running
191 191 diffstat on the patch. Finally, the patch itself, as generated by
192 192 "hg export".
193 193
194 194 By default the patch is included as text in the email body for
195 195 easy reviewing. Using the -a/--attach option will instead create
196 196 an attachment for the patch. With -i/--inline an inline attachment
197 197 will be created.
198 198
199 199 With -o/--outgoing, emails will be generated for patches not found
200 200 in the destination repository (or only those which are ancestors
201 201 of the specified revisions if any are provided)
202 202
203 203 With -b/--bundle, changesets are selected as for --outgoing, but a
204 204 single email containing a binary Mercurial bundle as an attachment
205 205 will be sent.
206 206
207 207 Examples::
208 208
209 209 hg email -r 3000 # send patch 3000 only
210 210 hg email -r 3000 -r 3001 # send patches 3000 and 3001
211 211 hg email -r 3000:3005 # send patches 3000 through 3005
212 212 hg email 3000 # send patch 3000 (deprecated)
213 213
214 214 hg email -o # send all patches not in default
215 215 hg email -o DEST # send all patches not in DEST
216 216 hg email -o -r 3000 # send all ancestors of 3000 not in default
217 217 hg email -o -r 3000 DEST # send all ancestors of 3000 not in DEST
218 218
219 219 hg email -b # send bundle of all patches not in default
220 220 hg email -b DEST # send bundle of all patches not in DEST
221 221 hg email -b -r 3000 # bundle of all ancestors of 3000 not in default
222 222 hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST
223 223
224 224 Before using this command, you will need to enable email in your
225 225 hgrc. See the [email] section in hgrc(5) for details.
226 226 '''
227 227
228 228 _charsets = mail._charsets(ui)
229 229
230 230 def outgoing(dest, revs):
231 231 '''Return the revisions present locally but not in dest'''
232 232 dest = ui.expandpath(dest or 'default-push', dest or 'default')
233 233 dest, revs, checkout = hg.parseurl(dest, revs)
234 revs = [repo.lookup(rev) for rev in revs]
234 if revs:
235 revs = [repo.lookup(rev) for rev in revs]
235 236 other = hg.repository(cmdutil.remoteui(repo, opts), dest)
236 237 ui.status(_('comparing with %s\n') % dest)
237 238 o = repo.findoutgoing(other)
238 239 if not o:
239 240 ui.status(_("no changes found\n"))
240 241 return []
241 o = repo.changelog.nodesbetween(o, revs or None)[0]
242 o = repo.changelog.nodesbetween(o, revs)[0]
242 243 return [str(repo.changelog.rev(r)) for r in o]
243 244
244 245 def getpatches(revs):
245 246 for r in cmdutil.revrange(repo, revs):
246 247 output = cStringIO.StringIO()
247 248 patch.export(repo, [r], fp=output,
248 249 opts=patch.diffopts(ui, opts))
249 250 yield output.getvalue().split('\n')
250 251
251 252 def getbundle(dest):
252 253 tmpdir = tempfile.mkdtemp(prefix='hg-email-bundle-')
253 254 tmpfn = os.path.join(tmpdir, 'bundle')
254 255 try:
255 256 commands.bundle(ui, repo, tmpfn, dest, **opts)
256 257 return open(tmpfn, 'rb').read()
257 258 finally:
258 259 try:
259 260 os.unlink(tmpfn)
260 261 except:
261 262 pass
262 263 os.rmdir(tmpdir)
263 264
264 265 if not (opts.get('test') or opts.get('mbox')):
265 266 # really sending
266 267 mail.validateconfig(ui)
267 268
268 269 if not (revs or opts.get('rev')
269 270 or opts.get('outgoing') or opts.get('bundle')
270 271 or opts.get('patches')):
271 272 raise util.Abort(_('specify at least one changeset with -r or -o'))
272 273
273 274 if opts.get('outgoing') and opts.get('bundle'):
274 275 raise util.Abort(_("--outgoing mode always on with --bundle;"
275 276 " do not re-specify --outgoing"))
276 277
277 278 if opts.get('outgoing') or opts.get('bundle'):
278 279 if len(revs) > 1:
279 280 raise util.Abort(_("too many destinations"))
280 281 dest = revs and revs[0] or None
281 282 revs = []
282 283
283 284 if opts.get('rev'):
284 285 if revs:
285 286 raise util.Abort(_('use only one form to specify the revision'))
286 287 revs = opts.get('rev')
287 288
288 289 if opts.get('outgoing'):
289 290 revs = outgoing(dest, opts.get('rev'))
290 291 if opts.get('bundle'):
291 292 opts['revs'] = revs
292 293
293 294 # start
294 295 if opts.get('date'):
295 296 start_time = util.parsedate(opts.get('date'))
296 297 else:
297 298 start_time = util.makedate()
298 299
299 300 def genmsgid(id):
300 301 return '<%s.%s@%s>' % (id[:20], int(start_time[0]), socket.getfqdn())
301 302
302 303 def getdescription(body, sender):
303 304 if opts.get('desc'):
304 305 body = open(opts.get('desc')).read()
305 306 else:
306 307 ui.write(_('\nWrite the introductory message for the '
307 308 'patch series.\n\n'))
308 309 body = ui.edit(body, sender)
309 310 return body
310 311
311 312 def getpatchmsgs(patches, patchnames=None):
312 313 jumbo = []
313 314 msgs = []
314 315
315 316 ui.write(_('This patch series consists of %d patches.\n\n')
316 317 % len(patches))
317 318
318 319 name = None
319 320 for i, p in enumerate(patches):
320 321 jumbo.extend(p)
321 322 if patchnames:
322 323 name = patchnames[i]
323 324 msg = makepatch(ui, repo, p, opts, _charsets, i + 1,
324 325 len(patches), name)
325 326 msgs.append(msg)
326 327
327 328 if len(patches) > 1 or opts.get('intro'):
328 329 tlen = len(str(len(patches)))
329 330
330 331 flag = ' '.join(opts.get('flag'))
331 332 if flag:
332 333 subj = '[PATCH %0*d of %d %s]' % (tlen, 0, len(patches), flag)
333 334 else:
334 335 subj = '[PATCH %0*d of %d]' % (tlen, 0, len(patches))
335 336 subj += ' ' + (opts.get('subject') or
336 337 prompt(ui, 'Subject: ', rest=subj))
337 338
338 339 body = ''
339 340 if opts.get('diffstat'):
340 341 d = cdiffstat(ui, _('Final summary:\n'), jumbo)
341 342 if d:
342 343 body = '\n' + d
343 344
344 345 body = getdescription(body, sender)
345 346 msg = mail.mimeencode(ui, body, _charsets, opts.get('test'))
346 347 msg['Subject'] = mail.headencode(ui, subj, _charsets,
347 348 opts.get('test'))
348 349
349 350 msgs.insert(0, (msg, subj))
350 351 return msgs
351 352
352 353 def getbundlemsgs(bundle):
353 354 subj = (opts.get('subject')
354 355 or prompt(ui, 'Subject:', 'A bundle for your repository'))
355 356
356 357 body = getdescription('', sender)
357 358 msg = email.MIMEMultipart.MIMEMultipart()
358 359 if body:
359 360 msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test')))
360 361 datapart = email.MIMEBase.MIMEBase('application', 'x-mercurial-bundle')
361 362 datapart.set_payload(bundle)
362 363 bundlename = '%s.hg' % opts.get('bundlename', 'bundle')
363 364 datapart.add_header('Content-Disposition', 'attachment',
364 365 filename=bundlename)
365 366 email.Encoders.encode_base64(datapart)
366 367 msg.attach(datapart)
367 368 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test'))
368 369 return [(msg, subj)]
369 370
370 371 sender = (opts.get('from') or ui.config('email', 'from') or
371 372 ui.config('patchbomb', 'from') or
372 373 prompt(ui, 'From', ui.username()))
373 374
374 375 # internal option used by pbranches
375 376 patches = opts.get('patches')
376 377 if patches:
377 378 msgs = getpatchmsgs(patches, opts.get('patchnames'))
378 379 elif opts.get('bundle'):
379 380 msgs = getbundlemsgs(getbundle(dest))
380 381 else:
381 382 msgs = getpatchmsgs(list(getpatches(revs)))
382 383
383 384 def getaddrs(opt, prpt=None, default=None):
384 385 if opts.get(opt):
385 386 return mail.addrlistencode(ui, opts.get(opt), _charsets,
386 387 opts.get('test'))
387 388
388 389 addrs = (ui.config('email', opt) or
389 390 ui.config('patchbomb', opt) or '')
390 391 if not addrs and prpt:
391 392 addrs = prompt(ui, prpt, default)
392 393
393 394 return mail.addrlistencode(ui, [addrs], _charsets, opts.get('test'))
394 395
395 396 to = getaddrs('to', 'To')
396 397 cc = getaddrs('cc', 'Cc', '')
397 398 bcc = getaddrs('bcc')
398 399
399 400 ui.write('\n')
400 401
401 402 parent = opts.get('in_reply_to') or None
402 403 # angle brackets may be omitted, they're not semantically part of the msg-id
403 404 if parent is not None:
404 405 if not parent.startswith('<'):
405 406 parent = '<' + parent
406 407 if not parent.endswith('>'):
407 408 parent += '>'
408 409
409 410 first = True
410 411
411 412 sender_addr = email.Utils.parseaddr(sender)[1]
412 413 sender = mail.addressencode(ui, sender, _charsets, opts.get('test'))
413 414 sendmail = None
414 415 for m, subj in msgs:
415 416 try:
416 417 m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
417 418 except TypeError:
418 419 m['Message-Id'] = genmsgid('patchbomb')
419 420 if parent:
420 421 m['In-Reply-To'] = parent
421 422 m['References'] = parent
422 423 if first:
423 424 parent = m['Message-Id']
424 425 first = False
425 426
426 427 m['User-Agent'] = 'Mercurial-patchbomb/%s' % util.version()
427 428 m['Date'] = email.Utils.formatdate(start_time[0], localtime=True)
428 429
429 430 start_time = (start_time[0] + 1, start_time[1])
430 431 m['From'] = sender
431 432 m['To'] = ', '.join(to)
432 433 if cc:
433 434 m['Cc'] = ', '.join(cc)
434 435 if bcc:
435 436 m['Bcc'] = ', '.join(bcc)
436 437 if opts.get('test'):
437 438 ui.status(_('Displaying '), subj, ' ...\n')
438 439 ui.flush()
439 440 if 'PAGER' in os.environ:
440 441 fp = util.popen(os.environ['PAGER'], 'w')
441 442 else:
442 443 fp = ui
443 444 generator = email.Generator.Generator(fp, mangle_from_=False)
444 445 try:
445 446 generator.flatten(m, 0)
446 447 fp.write('\n')
447 448 except IOError, inst:
448 449 if inst.errno != errno.EPIPE:
449 450 raise
450 451 if fp is not ui:
451 452 fp.close()
452 453 elif opts.get('mbox'):
453 454 ui.status(_('Writing '), subj, ' ...\n')
454 455 fp = open(opts.get('mbox'), 'In-Reply-To' in m and 'ab+' or 'wb+')
455 456 generator = email.Generator.Generator(fp, mangle_from_=True)
456 457 # Should be time.asctime(), but Windows prints 2-characters day
457 458 # of month instead of one. Make them print the same thing.
458 459 date = time.strftime('%a %b %d %H:%M:%S %Y',
459 460 time.localtime(start_time[0]))
460 461 fp.write('From %s %s\n' % (sender_addr, date))
461 462 generator.flatten(m, 0)
462 463 fp.write('\n\n')
463 464 fp.close()
464 465 else:
465 466 if not sendmail:
466 467 sendmail = mail.connect(ui)
467 468 ui.status(_('Sending '), subj, ' ...\n')
468 469 # Exim does not remove the Bcc field
469 470 del m['Bcc']
470 471 fp = cStringIO.StringIO()
471 472 generator = email.Generator.Generator(fp, mangle_from_=False)
472 473 generator.flatten(m, 0)
473 474 sendmail(sender, to + bcc + cc, fp.getvalue())
474 475
475 476 emailopts = [
476 477 ('a', 'attach', None, _('send patches as attachments')),
477 478 ('i', 'inline', None, _('send patches as inline attachments')),
478 479 ('', 'bcc', [], _('email addresses of blind carbon copy recipients')),
479 480 ('c', 'cc', [], _('email addresses of copy recipients')),
480 481 ('d', 'diffstat', None, _('add diffstat output to messages')),
481 482 ('', 'date', '', _('use the given date as the sending date')),
482 483 ('', 'desc', '', _('use the given file as the series description')),
483 484 ('f', 'from', '', _('email address of sender')),
484 485 ('n', 'test', None, _('print messages that would be sent')),
485 486 ('m', 'mbox', '',
486 487 _('write messages to mbox file instead of sending them')),
487 488 ('s', 'subject', '',
488 489 _('subject of first message (intro or single patch)')),
489 490 ('', 'in-reply-to', '',
490 491 _('message identifier to reply to')),
491 492 ('', 'flag', [], _('flags to add in subject prefixes')),
492 493 ('t', 'to', [], _('email addresses of recipients')),
493 494 ]
494 495
495 496
496 497 cmdtable = {
497 498 "email":
498 499 (patchbomb,
499 500 [('g', 'git', None, _('use git extended diff format')),
500 501 ('', 'plain', None, _('omit hg patch header')),
501 502 ('o', 'outgoing', None,
502 503 _('send changes not found in the target repository')),
503 504 ('b', 'bundle', None,
504 505 _('send changes not in target as a binary bundle')),
505 506 ('', 'bundlename', 'bundle',
506 507 _('name of the bundle attachment file')),
507 508 ('r', 'rev', [], _('a revision to send')),
508 509 ('', 'force', None,
509 510 _('run even when remote repository is unrelated '
510 511 '(with -b/--bundle)')),
511 512 ('', 'base', [],
512 513 _('a base changeset to specify instead of a destination '
513 514 '(with -b/--bundle)')),
514 515 ('', 'intro', None,
515 516 _('send an introduction email for a single patch')),
516 517 ] + emailopts + commands.remoteopts,
517 518 _('hg email [OPTION]... [DEST]...'))
518 519 }
@@ -1,192 +1,195 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 intro for multiple patches"
130 130 hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
131 131 -r 0:1 | fixheaders
132 132
133 133 echo "% tagging csets"
134 134 hg tag -r0 zero zero.foo
135 135 hg tag -r1 one one.patch
136 136 hg tag -r2 two two.diff
137 137
138 138 echo "% test inline for single named patch"
139 139 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2 | \
140 140 fixheaders
141 141
142 142 echo "% test inline for multiple named/unnamed patches"
143 143 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 0:1 | \
144 144 fixheaders
145 145
146 146 echo "% test inreplyto"
147 147 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
148 148 -r tip | fixheaders
149 149
150 150 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
151 151 -r 0:1 | fixheaders
152 152
153 153 hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
154 154 -s test -r 0:1 | fixheaders
155 155
156 156 echo "% test single flag for single patch"
157 157 hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
158 158 -r 2 | fixheaders
159 159
160 160 echo "% test single flag for multiple patches"
161 161 hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
162 162 -r 0:1 | fixheaders
163 163
164 164 echo "% test mutiple flags for single patch"
165 165 hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
166 166 -c bar -s test -r 2 | fixheaders
167 167
168 168 echo "% test multiple flags for multiple patches"
169 169 hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
170 170 -c bar -s test -r 0:1 | fixheaders
171 171
172 172 echo "% test multi-address parsing"
173 173 hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t 'spam<spam><eggs>' \
174 174 -t toast -c 'foo,bar@example.com' -c '"A, B <>" <a@example.com>' -s test -r 0 \
175 175 --config email.bcc='"Quux, A." <quux>'
176 176 cat tmp.mbox | fixheaders
177 177
178 178 echo "% test multi-byte domain parsing"
179 179 UUML=`printf '\374'`
180 180 HGENCODING=iso-8859-1
181 181 export HGENCODING
182 182 hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t "bar@${UUML}nicode.com" \
183 183 -s test -r 0
184 184 cat tmp.mbox | fixheaders
185 185
186 echo "% test outgoing and dest#branch URIs"
186 echo "% test outgoing"
187 187 hg up 1
188 188 hg branch test
189 189 echo d > d
190 190 hg add d
191 191 hg ci -md -d '4 0'
192 hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t | fixheaders
193
194 echo "% dest#branch URIs"
192 195 hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t#test | fixheaders
@@ -1,1570 +1,1840 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 intro for multiple patches
944 944 This patch series consists of 2 patches.
945 945
946 946
947 947 Write the introductory message for the patch series.
948 948
949 949
950 950 Displaying [PATCH 0 of 2] test ...
951 951 Content-Type: text/plain; charset="us-ascii"
952 952 MIME-Version: 1.0
953 953 Content-Transfer-Encoding: 7bit
954 954 Subject: [PATCH 0 of 2] test
955 955 Message-Id: <patchbomb.60@
956 956 User-Agent: Mercurial-patchbomb
957 957 Date: Thu, 01 Jan 1970 00:01:00 +0000
958 958 From: quux
959 959 To: foo
960 960 Cc: bar
961 961
962 962
963 963 Displaying [PATCH 1 of 2] a ...
964 964 Content-Type: text/plain; charset="us-ascii"
965 965 MIME-Version: 1.0
966 966 Content-Transfer-Encoding: 7bit
967 967 Subject: [PATCH 1 of 2] a
968 968 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
969 969 Message-Id: <8580ff50825a50c8f716.61@
970 970 In-Reply-To: <patchbomb.60@
971 971 References: <patchbomb.60@
972 972 User-Agent: Mercurial-patchbomb
973 973 Date: Thu, 01 Jan 1970 00:01:01 +0000
974 974 From: quux
975 975 To: foo
976 976 Cc: bar
977 977
978 978 # HG changeset patch
979 979 # User test
980 980 # Date 1 0
981 981 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
982 982 # Parent 0000000000000000000000000000000000000000
983 983 a
984 984
985 985 diff -r 000000000000 -r 8580ff50825a a
986 986 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
987 987 +++ b/a Thu Jan 01 00:00:01 1970 +0000
988 988 @@ -0,0 +1,1 @@
989 989 +a
990 990
991 991 Displaying [PATCH 2 of 2] b ...
992 992 Content-Type: text/plain; charset="us-ascii"
993 993 MIME-Version: 1.0
994 994 Content-Transfer-Encoding: 7bit
995 995 Subject: [PATCH 2 of 2] b
996 996 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
997 997 Message-Id: <97d72e5f12c7e84f8506.62@
998 998 In-Reply-To: <patchbomb.60@
999 999 References: <patchbomb.60@
1000 1000 User-Agent: Mercurial-patchbomb
1001 1001 Date: Thu, 01 Jan 1970 00:01:02 +0000
1002 1002 From: quux
1003 1003 To: foo
1004 1004 Cc: bar
1005 1005
1006 1006 # HG changeset patch
1007 1007 # User test
1008 1008 # Date 2 0
1009 1009 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1010 1010 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1011 1011 b
1012 1012
1013 1013 diff -r 8580ff50825a -r 97d72e5f12c7 b
1014 1014 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1015 1015 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1016 1016 @@ -0,0 +1,1 @@
1017 1017 +b
1018 1018
1019 1019 % tagging csets
1020 1020 % test inline for single named patch
1021 1021 This patch series consists of 1 patches.
1022 1022
1023 1023
1024 1024 Displaying [PATCH] test ...
1025 1025 Content-Type: multipart/mixed; boundary="===
1026 1026 MIME-Version: 1.0
1027 1027 Subject: [PATCH] test
1028 1028 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1029 1029 Message-Id: <ff2c9fa2018b15fa74b3.60@
1030 1030 User-Agent: Mercurial-patchbomb
1031 1031 Date: Thu, 01 Jan 1970 00:01:00 +0000
1032 1032 From: quux
1033 1033 To: foo
1034 1034 Cc: bar
1035 1035
1036 1036 --===
1037 1037 Content-Type: text/x-patch; charset="us-ascii"
1038 1038 MIME-Version: 1.0
1039 1039 Content-Transfer-Encoding: 7bit
1040 1040 Content-Disposition: inline; filename=two.diff
1041 1041
1042 1042 # HG changeset patch
1043 1043 # User test
1044 1044 # Date 3 0
1045 1045 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1046 1046 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1047 1047 c
1048 1048
1049 1049 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1050 1050 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1051 1051 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1052 1052 @@ -0,0 +1,1 @@
1053 1053 +c
1054 1054
1055 1055 --===
1056 1056 % test inline for multiple named/unnamed patches
1057 1057 This patch series consists of 2 patches.
1058 1058
1059 1059
1060 1060 Write the introductory message for the patch series.
1061 1061
1062 1062
1063 1063 Displaying [PATCH 0 of 2] test ...
1064 1064 Content-Type: text/plain; charset="us-ascii"
1065 1065 MIME-Version: 1.0
1066 1066 Content-Transfer-Encoding: 7bit
1067 1067 Subject: [PATCH 0 of 2] test
1068 1068 Message-Id: <patchbomb.60@
1069 1069 User-Agent: Mercurial-patchbomb
1070 1070 Date: Thu, 01 Jan 1970 00:01:00 +0000
1071 1071 From: quux
1072 1072 To: foo
1073 1073 Cc: bar
1074 1074
1075 1075
1076 1076 Displaying [PATCH 1 of 2] a ...
1077 1077 Content-Type: multipart/mixed; boundary="===
1078 1078 MIME-Version: 1.0
1079 1079 Subject: [PATCH 1 of 2] a
1080 1080 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1081 1081 Message-Id: <8580ff50825a50c8f716.61@
1082 1082 In-Reply-To: <patchbomb.60@
1083 1083 References: <patchbomb.60@
1084 1084 User-Agent: Mercurial-patchbomb
1085 1085 Date: Thu, 01 Jan 1970 00:01:01 +0000
1086 1086 From: quux
1087 1087 To: foo
1088 1088 Cc: bar
1089 1089
1090 1090 --===
1091 1091 Content-Type: text/x-patch; charset="us-ascii"
1092 1092 MIME-Version: 1.0
1093 1093 Content-Transfer-Encoding: 7bit
1094 1094 Content-Disposition: inline; filename=t2-1.patch
1095 1095
1096 1096 # HG changeset patch
1097 1097 # User test
1098 1098 # Date 1 0
1099 1099 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1100 1100 # Parent 0000000000000000000000000000000000000000
1101 1101 a
1102 1102
1103 1103 diff -r 000000000000 -r 8580ff50825a a
1104 1104 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1105 1105 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1106 1106 @@ -0,0 +1,1 @@
1107 1107 +a
1108 1108
1109 1109 --===
1110 1110 Displaying [PATCH 2 of 2] b ...
1111 1111 Content-Type: multipart/mixed; boundary="===
1112 1112 MIME-Version: 1.0
1113 1113 Subject: [PATCH 2 of 2] b
1114 1114 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1115 1115 Message-Id: <97d72e5f12c7e84f8506.62@
1116 1116 In-Reply-To: <patchbomb.60@
1117 1117 References: <patchbomb.60@
1118 1118 User-Agent: Mercurial-patchbomb
1119 1119 Date: Thu, 01 Jan 1970 00:01:02 +0000
1120 1120 From: quux
1121 1121 To: foo
1122 1122 Cc: bar
1123 1123
1124 1124 --===
1125 1125 Content-Type: text/x-patch; charset="us-ascii"
1126 1126 MIME-Version: 1.0
1127 1127 Content-Transfer-Encoding: 7bit
1128 1128 Content-Disposition: inline; filename=one.patch
1129 1129
1130 1130 # HG changeset patch
1131 1131 # User test
1132 1132 # Date 2 0
1133 1133 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1134 1134 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1135 1135 b
1136 1136
1137 1137 diff -r 8580ff50825a -r 97d72e5f12c7 b
1138 1138 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1139 1139 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1140 1140 @@ -0,0 +1,1 @@
1141 1141 +b
1142 1142
1143 1143 --===
1144 1144 % test inreplyto
1145 1145 This patch series consists of 1 patches.
1146 1146
1147 1147
1148 1148 Displaying [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b ...
1149 1149 Content-Type: text/plain; charset="us-ascii"
1150 1150 MIME-Version: 1.0
1151 1151 Content-Transfer-Encoding: 7bit
1152 1152 Subject: [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b
1153 1153 X-Mercurial-Node: e317db6a6f288748d1f6cb064f3810fcba66b1b6
1154 1154 Message-Id: <e317db6a6f288748d1f6.60@
1155 1155 In-Reply-To: <baz>
1156 1156 References: <baz>
1157 1157 User-Agent: Mercurial-patchbomb
1158 1158 Date: Thu, 01 Jan 1970 00:01:00 +0000
1159 1159 From: quux
1160 1160 To: foo
1161 1161 Cc: bar
1162 1162
1163 1163 # HG changeset patch
1164 1164 # User test
1165 1165 # Date 0 0
1166 1166 # Node ID e317db6a6f288748d1f6cb064f3810fcba66b1b6
1167 1167 # Parent eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
1168 1168 Added tag two, two.diff for changeset ff2c9fa2018b
1169 1169
1170 1170 diff -r eae5fcf795ee -r e317db6a6f28 .hgtags
1171 1171 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1172 1172 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1173 1173 @@ -2,3 +2,5 @@
1174 1174 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1175 1175 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
1176 1176 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
1177 1177 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two
1178 1178 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff
1179 1179
1180 1180 abort: Subject: [PATCH 0 of 2] Please enter a valid value
1181 1181 This patch series consists of 2 patches.
1182 1182
1183 1183 This patch series consists of 2 patches.
1184 1184
1185 1185
1186 1186 Write the introductory message for the patch series.
1187 1187
1188 1188
1189 1189 Displaying [PATCH 0 of 2] test ...
1190 1190 Content-Type: text/plain; charset="us-ascii"
1191 1191 MIME-Version: 1.0
1192 1192 Content-Transfer-Encoding: 7bit
1193 1193 Subject: [PATCH 0 of 2] test
1194 1194 Message-Id: <patchbomb.60@
1195 1195 In-Reply-To: <baz>
1196 1196 References: <baz>
1197 1197 User-Agent: Mercurial-patchbomb
1198 1198 Date: Thu, 01 Jan 1970 00:01:00 +0000
1199 1199 From: quux
1200 1200 To: foo
1201 1201 Cc: bar
1202 1202
1203 1203
1204 1204 Displaying [PATCH 1 of 2] a ...
1205 1205 Content-Type: text/plain; charset="us-ascii"
1206 1206 MIME-Version: 1.0
1207 1207 Content-Transfer-Encoding: 7bit
1208 1208 Subject: [PATCH 1 of 2] a
1209 1209 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1210 1210 Message-Id: <8580ff50825a50c8f716.61@
1211 1211 In-Reply-To: <patchbomb.60@
1212 1212 References: <patchbomb.60@
1213 1213 User-Agent: Mercurial-patchbomb
1214 1214 Date: Thu, 01 Jan 1970 00:01:01 +0000
1215 1215 From: quux
1216 1216 To: foo
1217 1217 Cc: bar
1218 1218
1219 1219 # HG changeset patch
1220 1220 # User test
1221 1221 # Date 1 0
1222 1222 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1223 1223 # Parent 0000000000000000000000000000000000000000
1224 1224 a
1225 1225
1226 1226 diff -r 000000000000 -r 8580ff50825a a
1227 1227 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1228 1228 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1229 1229 @@ -0,0 +1,1 @@
1230 1230 +a
1231 1231
1232 1232 Displaying [PATCH 2 of 2] b ...
1233 1233 Content-Type: text/plain; charset="us-ascii"
1234 1234 MIME-Version: 1.0
1235 1235 Content-Transfer-Encoding: 7bit
1236 1236 Subject: [PATCH 2 of 2] b
1237 1237 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1238 1238 Message-Id: <97d72e5f12c7e84f8506.62@
1239 1239 In-Reply-To: <patchbomb.60@
1240 1240 References: <patchbomb.60@
1241 1241 User-Agent: Mercurial-patchbomb
1242 1242 Date: Thu, 01 Jan 1970 00:01:02 +0000
1243 1243 From: quux
1244 1244 To: foo
1245 1245 Cc: bar
1246 1246
1247 1247 # HG changeset patch
1248 1248 # User test
1249 1249 # Date 2 0
1250 1250 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1251 1251 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1252 1252 b
1253 1253
1254 1254 diff -r 8580ff50825a -r 97d72e5f12c7 b
1255 1255 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1256 1256 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1257 1257 @@ -0,0 +1,1 @@
1258 1258 +b
1259 1259
1260 1260 % test single flag for single patch
1261 1261 This patch series consists of 1 patches.
1262 1262
1263 1263
1264 1264 Displaying [PATCH fooFlag] test ...
1265 1265 Content-Type: text/plain; charset="us-ascii"
1266 1266 MIME-Version: 1.0
1267 1267 Content-Transfer-Encoding: 7bit
1268 1268 Subject: [PATCH fooFlag] test
1269 1269 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1270 1270 Message-Id: <ff2c9fa2018b15fa74b3.60@
1271 1271 User-Agent: Mercurial-patchbomb
1272 1272 Date: Thu, 01 Jan 1970 00:01:00 +0000
1273 1273 From: quux
1274 1274 To: foo
1275 1275 Cc: bar
1276 1276
1277 1277 # HG changeset patch
1278 1278 # User test
1279 1279 # Date 3 0
1280 1280 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1281 1281 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1282 1282 c
1283 1283
1284 1284 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1285 1285 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1286 1286 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1287 1287 @@ -0,0 +1,1 @@
1288 1288 +c
1289 1289
1290 1290 % test single flag for multiple patches
1291 1291 This patch series consists of 2 patches.
1292 1292
1293 1293
1294 1294 Write the introductory message for the patch series.
1295 1295
1296 1296
1297 1297 Displaying [PATCH 0 of 2 fooFlag] test ...
1298 1298 Content-Type: text/plain; charset="us-ascii"
1299 1299 MIME-Version: 1.0
1300 1300 Content-Transfer-Encoding: 7bit
1301 1301 Subject: [PATCH 0 of 2 fooFlag] test
1302 1302 Message-Id: <patchbomb.60@
1303 1303 User-Agent: Mercurial-patchbomb
1304 1304 Date: Thu, 01 Jan 1970 00:01:00 +0000
1305 1305 From: quux
1306 1306 To: foo
1307 1307 Cc: bar
1308 1308
1309 1309
1310 1310 Displaying [PATCH 1 of 2 fooFlag] a ...
1311 1311 Content-Type: text/plain; charset="us-ascii"
1312 1312 MIME-Version: 1.0
1313 1313 Content-Transfer-Encoding: 7bit
1314 1314 Subject: [PATCH 1 of 2 fooFlag] a
1315 1315 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1316 1316 Message-Id: <8580ff50825a50c8f716.61@
1317 1317 In-Reply-To: <patchbomb.60@
1318 1318 References: <patchbomb.60@
1319 1319 User-Agent: Mercurial-patchbomb
1320 1320 Date: Thu, 01 Jan 1970 00:01:01 +0000
1321 1321 From: quux
1322 1322 To: foo
1323 1323 Cc: bar
1324 1324
1325 1325 # HG changeset patch
1326 1326 # User test
1327 1327 # Date 1 0
1328 1328 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1329 1329 # Parent 0000000000000000000000000000000000000000
1330 1330 a
1331 1331
1332 1332 diff -r 000000000000 -r 8580ff50825a a
1333 1333 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1334 1334 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1335 1335 @@ -0,0 +1,1 @@
1336 1336 +a
1337 1337
1338 1338 Displaying [PATCH 2 of 2 fooFlag] b ...
1339 1339 Content-Type: text/plain; charset="us-ascii"
1340 1340 MIME-Version: 1.0
1341 1341 Content-Transfer-Encoding: 7bit
1342 1342 Subject: [PATCH 2 of 2 fooFlag] b
1343 1343 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1344 1344 Message-Id: <97d72e5f12c7e84f8506.62@
1345 1345 In-Reply-To: <patchbomb.60@
1346 1346 References: <patchbomb.60@
1347 1347 User-Agent: Mercurial-patchbomb
1348 1348 Date: Thu, 01 Jan 1970 00:01:02 +0000
1349 1349 From: quux
1350 1350 To: foo
1351 1351 Cc: bar
1352 1352
1353 1353 # HG changeset patch
1354 1354 # User test
1355 1355 # Date 2 0
1356 1356 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1357 1357 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1358 1358 b
1359 1359
1360 1360 diff -r 8580ff50825a -r 97d72e5f12c7 b
1361 1361 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1362 1362 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1363 1363 @@ -0,0 +1,1 @@
1364 1364 +b
1365 1365
1366 1366 % test mutiple flags for single patch
1367 1367 This patch series consists of 1 patches.
1368 1368
1369 1369
1370 1370 Displaying [PATCH fooFlag barFlag] test ...
1371 1371 Content-Type: text/plain; charset="us-ascii"
1372 1372 MIME-Version: 1.0
1373 1373 Content-Transfer-Encoding: 7bit
1374 1374 Subject: [PATCH fooFlag barFlag] test
1375 1375 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1376 1376 Message-Id: <ff2c9fa2018b15fa74b3.60@
1377 1377 User-Agent: Mercurial-patchbomb
1378 1378 Date: Thu, 01 Jan 1970 00:01:00 +0000
1379 1379 From: quux
1380 1380 To: foo
1381 1381 Cc: bar
1382 1382
1383 1383 # HG changeset patch
1384 1384 # User test
1385 1385 # Date 3 0
1386 1386 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1387 1387 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1388 1388 c
1389 1389
1390 1390 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1391 1391 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1392 1392 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1393 1393 @@ -0,0 +1,1 @@
1394 1394 +c
1395 1395
1396 1396 % test multiple flags for multiple patches
1397 1397 This patch series consists of 2 patches.
1398 1398
1399 1399
1400 1400 Write the introductory message for the patch series.
1401 1401
1402 1402
1403 1403 Displaying [PATCH 0 of 2 fooFlag barFlag] test ...
1404 1404 Content-Type: text/plain; charset="us-ascii"
1405 1405 MIME-Version: 1.0
1406 1406 Content-Transfer-Encoding: 7bit
1407 1407 Subject: [PATCH 0 of 2 fooFlag barFlag] test
1408 1408 Message-Id: <patchbomb.60@
1409 1409 User-Agent: Mercurial-patchbomb
1410 1410 Date: Thu, 01 Jan 1970 00:01:00 +0000
1411 1411 From: quux
1412 1412 To: foo
1413 1413 Cc: bar
1414 1414
1415 1415
1416 1416 Displaying [PATCH 1 of 2 fooFlag barFlag] a ...
1417 1417 Content-Type: text/plain; charset="us-ascii"
1418 1418 MIME-Version: 1.0
1419 1419 Content-Transfer-Encoding: 7bit
1420 1420 Subject: [PATCH 1 of 2 fooFlag barFlag] a
1421 1421 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1422 1422 Message-Id: <8580ff50825a50c8f716.61@
1423 1423 In-Reply-To: <patchbomb.60@
1424 1424 References: <patchbomb.60@
1425 1425 User-Agent: Mercurial-patchbomb
1426 1426 Date: Thu, 01 Jan 1970 00:01:01 +0000
1427 1427 From: quux
1428 1428 To: foo
1429 1429 Cc: bar
1430 1430
1431 1431 # HG changeset patch
1432 1432 # User test
1433 1433 # Date 1 0
1434 1434 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1435 1435 # Parent 0000000000000000000000000000000000000000
1436 1436 a
1437 1437
1438 1438 diff -r 000000000000 -r 8580ff50825a a
1439 1439 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1440 1440 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1441 1441 @@ -0,0 +1,1 @@
1442 1442 +a
1443 1443
1444 1444 Displaying [PATCH 2 of 2 fooFlag barFlag] b ...
1445 1445 Content-Type: text/plain; charset="us-ascii"
1446 1446 MIME-Version: 1.0
1447 1447 Content-Transfer-Encoding: 7bit
1448 1448 Subject: [PATCH 2 of 2 fooFlag barFlag] b
1449 1449 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1450 1450 Message-Id: <97d72e5f12c7e84f8506.62@
1451 1451 In-Reply-To: <patchbomb.60@
1452 1452 References: <patchbomb.60@
1453 1453 User-Agent: Mercurial-patchbomb
1454 1454 Date: Thu, 01 Jan 1970 00:01:02 +0000
1455 1455 From: quux
1456 1456 To: foo
1457 1457 Cc: bar
1458 1458
1459 1459 # HG changeset patch
1460 1460 # User test
1461 1461 # Date 2 0
1462 1462 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1463 1463 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1464 1464 b
1465 1465
1466 1466 diff -r 8580ff50825a -r 97d72e5f12c7 b
1467 1467 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1468 1468 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1469 1469 @@ -0,0 +1,1 @@
1470 1470 +b
1471 1471
1472 1472 % test multi-address parsing
1473 1473 This patch series consists of 1 patches.
1474 1474
1475 1475
1476 1476 Writing [PATCH] test ...
1477 1477 From quux Tue Jan 01 00:01:01 1980
1478 1478 Content-Type: text/plain; charset="us-ascii"
1479 1479 MIME-Version: 1.0
1480 1480 Content-Transfer-Encoding: 7bit
1481 1481 Subject: [PATCH] test
1482 1482 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1483 1483 Message-Id: <8580ff50825a50c8f716.315532860@
1484 1484 User-Agent: Mercurial-patchbomb
1485 1485 Date: Tue, 01 Jan 1980 00:01:00 +0000
1486 1486 From: quux
1487 1487 To: spam <spam>, eggs, toast
1488 1488 Cc: foo, bar@example.com, "A, B <>" <a@example.com>
1489 1489 Bcc: "Quux, A." <quux>
1490 1490
1491 1491 # HG changeset patch
1492 1492 # User test
1493 1493 # Date 1 0
1494 1494 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1495 1495 # Parent 0000000000000000000000000000000000000000
1496 1496 a
1497 1497
1498 1498 diff -r 000000000000 -r 8580ff50825a a
1499 1499 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1500 1500 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1501 1501 @@ -0,0 +1,1 @@
1502 1502 +a
1503 1503
1504 1504
1505 1505 % test multi-byte domain parsing
1506 1506 This patch series consists of 1 patches.
1507 1507
1508 1508
1509 1509 Writing [PATCH] test ...
1510 1510 From quux Tue Jan 01 00:01:01 1980
1511 1511 Content-Type: text/plain; charset="us-ascii"
1512 1512 MIME-Version: 1.0
1513 1513 Content-Transfer-Encoding: 7bit
1514 1514 Subject: [PATCH] test
1515 1515 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1516 1516 Message-Id: <8580ff50825a50c8f716.315532860@
1517 1517 User-Agent: Mercurial-patchbomb
1518 1518 Date: Tue, 01 Jan 1980 00:01:00 +0000
1519 1519 From: quux
1520 1520 To: bar@xn--nicode-2ya.com
1521 1521
1522 1522 # HG changeset patch
1523 1523 # User test
1524 1524 # Date 1 0
1525 1525 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1526 1526 # Parent 0000000000000000000000000000000000000000
1527 1527 a
1528 1528
1529 1529 diff -r 000000000000 -r 8580ff50825a a
1530 1530 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1531 1531 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1532 1532 @@ -0,0 +1,1 @@
1533 1533 +a
1534 1534
1535 1535
1536 % test outgoing and dest#branch URIs
1536 % test outgoing
1537 1537 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
1538 1538 marked working directory as branch test
1539 1539 created new head
1540 1540 comparing with ../t
1541 1541 searching for changes
1542 This patch series consists of 8 patches.
1543
1544
1545 Write the introductory message for the patch series.
1546
1547
1548 Displaying [PATCH 0 of 8] test ...
1549 Content-Type: text/plain; charset="us-ascii"
1550 MIME-Version: 1.0
1551 Content-Transfer-Encoding: 7bit
1552 Subject: [PATCH 0 of 8] test
1553 Message-Id: <patchbomb.315532860@
1554 User-Agent: Mercurial-patchbomb
1555 Date: Tue, 01 Jan 1980 00:01:00 +0000
1556 From: test
1557 To: foo
1558
1559
1560 Displaying [PATCH 1 of 8] c ...
1561 Content-Type: text/plain; charset="us-ascii"
1562 MIME-Version: 1.0
1563 Content-Transfer-Encoding: 7bit
1564 Subject: [PATCH 1 of 8] c
1565 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1566 Message-Id: <ff2c9fa2018b15fa74b3.315532861@
1567 In-Reply-To: <patchbomb.315532860@
1568 References: <patchbomb.315532860@
1569 User-Agent: Mercurial-patchbomb
1570 Date: Tue, 01 Jan 1980 00:01:01 +0000
1571 From: test
1572 To: foo
1573
1574 # HG changeset patch
1575 # User test
1576 # Date 3 0
1577 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1578 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1579 c
1580
1581 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1582 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1583 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1584 @@ -0,0 +1,1 @@
1585 +c
1586
1587 Displaying [PATCH 2 of 8] charset=utf-8; content-transfer-encoding: base64 ...
1588 Content-Type: text/plain; charset="us-ascii"
1589 MIME-Version: 1.0
1590 Content-Transfer-Encoding: 8bit
1591 Subject: [PATCH 2 of 8] charset=utf-8; content-transfer-encoding: base64
1592 X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
1593 Message-Id: <c3c9e37db9f4fe4882cd.315532862@
1594 In-Reply-To: <patchbomb.315532860@
1595 References: <patchbomb.315532860@
1596 User-Agent: Mercurial-patchbomb
1597 Date: Tue, 01 Jan 1980 00:01:02 +0000
1598 From: test
1599 To: foo
1600
1601 # HG changeset patch
1602 # User test
1603 # Date 4 0
1604 # Node ID c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
1605 # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f
1606 charset=utf-8; content-transfer-encoding: base64
1607
1608 diff -r ff2c9fa2018b -r c3c9e37db9f4 description
1609 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1610 +++ b/description Thu Jan 01 00:00:04 1970 +0000
1611 @@ -0,0 +1,3 @@
1612 +a multiline
1613 +
1614 +description
1615 diff -r ff2c9fa2018b -r c3c9e37db9f4 utf
1616 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1617 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
1618 @@ -0,0 +1,1 @@
1619 +hΓΆmma!
1620
1621 Displaying [PATCH 3 of 8] charset=utf-8; content-transfer-encoding: quoted-printable ...
1622 Content-Type: text/plain; charset="us-ascii"
1623 MIME-Version: 1.0
1624 Content-Transfer-Encoding: quoted-printable
1625 Subject: [PATCH 3 of 8] charset=utf-8;
1626 content-transfer-encoding: quoted-printable
1627 X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
1628 Message-Id: <c655633f8c87700bb38c.315532863@
1629 In-Reply-To: <patchbomb.315532860@
1630 References: <patchbomb.315532860@
1631 User-Agent: Mercurial-patchbomb
1632 Date: Tue, 01 Jan 1980 00:01:03 +0000
1633 From: test
1634 To: foo
1635
1636 # HG changeset patch
1637 # User test
1638 # Date 4 0
1639 # Node ID c655633f8c87700bb38cc6a59a2753bdc5a6c376
1640 # Parent c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
1641 charset=3Dutf-8; content-transfer-encoding: quoted-printable
1642
1643 diff -r c3c9e37db9f4 -r c655633f8c87 qp
1644 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1645 +++ b/qp Thu Jan 01 00:00:04 1970 +0000
1646 @@ -0,0 +1,4 @@
1647 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1648 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1649 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1650 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1651 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1652 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1653 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1654 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1655 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1656 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1657 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1658 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1659 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1660 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1661 +foo
1662 +
1663 +bar
1664
1665 Displaying [PATCH 4 of 8] charset=us-ascii; content-transfer-encoding: 8bit ...
1666 Content-Type: text/plain; charset="us-ascii"
1667 MIME-Version: 1.0
1668 Content-Transfer-Encoding: 8bit
1669 Subject: [PATCH 4 of 8] charset=us-ascii; content-transfer-encoding: 8bit
1670 X-Mercurial-Node: 22d0f96be12f5945fd67d101af58f7bc8263c835
1671 Message-Id: <22d0f96be12f5945fd67.315532864@
1672 In-Reply-To: <patchbomb.315532860@
1673 References: <patchbomb.315532860@
1674 User-Agent: Mercurial-patchbomb
1675 Date: Tue, 01 Jan 1980 00:01:04 +0000
1676 From: test
1677 To: foo
1678
1679 # HG changeset patch
1680 # User test
1681 # Date 5 0
1682 # Node ID 22d0f96be12f5945fd67d101af58f7bc8263c835
1683 # Parent c655633f8c87700bb38cc6a59a2753bdc5a6c376
1684 charset=us-ascii; content-transfer-encoding: 8bit
1685
1686 diff -r c655633f8c87 -r 22d0f96be12f isolatin
1687 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1688 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
1689 @@ -0,0 +1,1 @@
1690 +hοΏ½mma!
1691
1692 Displaying [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a ...
1693 Content-Type: text/plain; charset="us-ascii"
1694 MIME-Version: 1.0
1695 Content-Transfer-Encoding: 7bit
1696 Subject: [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a
1697 X-Mercurial-Node: dd9c2b4b8a8a0934d5523c15f2c119b362360903
1698 Message-Id: <dd9c2b4b8a8a0934d552.315532865@
1699 In-Reply-To: <patchbomb.315532860@
1700 References: <patchbomb.315532860@
1701 User-Agent: Mercurial-patchbomb
1702 Date: Tue, 01 Jan 1980 00:01:05 +0000
1703 From: test
1704 To: foo
1705
1706 # HG changeset patch
1707 # User test
1708 # Date 0 0
1709 # Node ID dd9c2b4b8a8a0934d5523c15f2c119b362360903
1710 # Parent 22d0f96be12f5945fd67d101af58f7bc8263c835
1711 Added tag zero, zero.foo for changeset 8580ff50825a
1712
1713 diff -r 22d0f96be12f -r dd9c2b4b8a8a .hgtags
1714 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1715 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1716 @@ -0,0 +1,2 @@
1717 +8580ff50825a50c8f716709acdf8de0deddcd6ab zero
1718 +8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1719
1720 Displaying [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7 ...
1721 Content-Type: text/plain; charset="us-ascii"
1722 MIME-Version: 1.0
1723 Content-Transfer-Encoding: 7bit
1724 Subject: [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7
1725 X-Mercurial-Node: eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
1726 Message-Id: <eae5fcf795eee29d0e45.315532866@
1727 In-Reply-To: <patchbomb.315532860@
1728 References: <patchbomb.315532860@
1729 User-Agent: Mercurial-patchbomb
1730 Date: Tue, 01 Jan 1980 00:01:06 +0000
1731 From: test
1732 To: foo
1733
1734 # HG changeset patch
1735 # User test
1736 # Date 0 0
1737 # Node ID eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
1738 # Parent dd9c2b4b8a8a0934d5523c15f2c119b362360903
1739 Added tag one, one.patch for changeset 97d72e5f12c7
1740
1741 diff -r dd9c2b4b8a8a -r eae5fcf795ee .hgtags
1742 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1743 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1744 @@ -1,2 +1,4 @@
1745 8580ff50825a50c8f716709acdf8de0deddcd6ab zero
1746 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1747 +97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
1748 +97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
1749
1750 Displaying [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b ...
1751 Content-Type: text/plain; charset="us-ascii"
1752 MIME-Version: 1.0
1753 Content-Transfer-Encoding: 7bit
1754 Subject: [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b
1755 X-Mercurial-Node: e317db6a6f288748d1f6cb064f3810fcba66b1b6
1756 Message-Id: <e317db6a6f288748d1f6.315532867@
1757 In-Reply-To: <patchbomb.315532860@
1758 References: <patchbomb.315532860@
1759 User-Agent: Mercurial-patchbomb
1760 Date: Tue, 01 Jan 1980 00:01:07 +0000
1761 From: test
1762 To: foo
1763
1764 # HG changeset patch
1765 # User test
1766 # Date 0 0
1767 # Node ID e317db6a6f288748d1f6cb064f3810fcba66b1b6
1768 # Parent eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
1769 Added tag two, two.diff for changeset ff2c9fa2018b
1770
1771 diff -r eae5fcf795ee -r e317db6a6f28 .hgtags
1772 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1773 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1774 @@ -2,3 +2,5 @@
1775 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1776 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
1777 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
1778 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two
1779 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff
1780
1781 Displaying [PATCH 8 of 8] d ...
1782 Content-Type: text/plain; charset="us-ascii"
1783 MIME-Version: 1.0
1784 Content-Transfer-Encoding: 7bit
1785 Subject: [PATCH 8 of 8] d
1786 X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
1787 Message-Id: <2f9fa9b998c5fe3ac2bd.315532868@
1788 In-Reply-To: <patchbomb.315532860@
1789 References: <patchbomb.315532860@
1790 User-Agent: Mercurial-patchbomb
1791 Date: Tue, 01 Jan 1980 00:01:08 +0000
1792 From: test
1793 To: foo
1794
1795 # HG changeset patch
1796 # User test
1797 # Date 4 0
1798 # Branch test
1799 # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
1800 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1801 d
1802
1803 diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d
1804 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1805 +++ b/d Thu Jan 01 00:00:04 1970 +0000
1806 @@ -0,0 +1,1 @@
1807 +d
1808
1809 % dest#branch URIs
1810 comparing with ../t
1811 searching for changes
1542 1812 This patch series consists of 1 patches.
1543 1813
1544 1814
1545 1815 Displaying [PATCH] test ...
1546 1816 Content-Type: text/plain; charset="us-ascii"
1547 1817 MIME-Version: 1.0
1548 1818 Content-Transfer-Encoding: 7bit
1549 1819 Subject: [PATCH] test
1550 1820 X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
1551 1821 Message-Id: <2f9fa9b998c5fe3ac2bd.315532860@
1552 1822 User-Agent: Mercurial-patchbomb
1553 1823 Date: Tue, 01 Jan 1980 00:01:00 +0000
1554 1824 From: test
1555 1825 To: foo
1556 1826
1557 1827 # HG changeset patch
1558 1828 # User test
1559 1829 # Date 4 0
1560 1830 # Branch test
1561 1831 # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
1562 1832 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1563 1833 d
1564 1834
1565 1835 diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d
1566 1836 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1567 1837 +++ b/d Thu Jan 01 00:00:04 1970 +0000
1568 1838 @@ -0,0 +1,1 @@
1569 1839 +d
1570 1840
General Comments 0
You need to be logged in to leave comments. Login now