##// END OF EJS Templates
patchbomb: lowercase status messages
Martin Geisler -
r16931:ee388b0a default
parent child Browse files
Show More
@@ -1,558 +1,558 b''
1 # patchbomb.py - sending Mercurial changesets as patch emails
1 # patchbomb.py - sending Mercurial changesets as patch emails
2 #
2 #
3 # Copyright 2005-2009 Matt Mackall <mpm@selenic.com> and others
3 # Copyright 2005-2009 Matt Mackall <mpm@selenic.com> and others
4 #
4 #
5 # This software may be used and distributed according to the terms of the
5 # This software may be used and distributed according to the terms of the
6 # GNU General Public License version 2 or any later version.
6 # GNU General Public License version 2 or any later version.
7
7
8 '''command to send changesets as (a series of) patch emails
8 '''command to send changesets as (a series of) patch emails
9
9
10 The series is started off with a "[PATCH 0 of N]" introduction, which
10 The series is started off with a "[PATCH 0 of N]" introduction, which
11 describes the series as a whole.
11 describes the series as a whole.
12
12
13 Each patch email has a Subject line of "[PATCH M of N] ...", using the
13 Each patch email has a Subject line of "[PATCH M of N] ...", using the
14 first line of the changeset description as the subject text. The
14 first line of the changeset description as the subject text. The
15 message contains two or three body parts:
15 message contains two or three body parts:
16
16
17 - The changeset description.
17 - The changeset description.
18 - [Optional] The result of running diffstat on the patch.
18 - [Optional] The result of running diffstat on the patch.
19 - The patch itself, as generated by :hg:`export`.
19 - The patch itself, as generated by :hg:`export`.
20
20
21 Each message refers to the first in the series using the In-Reply-To
21 Each message refers to the first in the series using the In-Reply-To
22 and References headers, so they will show up as a sequence in threaded
22 and References headers, so they will show up as a sequence in threaded
23 mail and news readers, and in mail archives.
23 mail and news readers, and in mail archives.
24
24
25 To configure other defaults, add a section like this to your
25 To configure other defaults, add a section like this to your
26 configuration file::
26 configuration file::
27
27
28 [email]
28 [email]
29 from = My Name <my@email>
29 from = My Name <my@email>
30 to = recipient1, recipient2, ...
30 to = recipient1, recipient2, ...
31 cc = cc1, cc2, ...
31 cc = cc1, cc2, ...
32 bcc = bcc1, bcc2, ...
32 bcc = bcc1, bcc2, ...
33 reply-to = address1, address2, ...
33 reply-to = address1, address2, ...
34
34
35 Use ``[patchbomb]`` as configuration section name if you need to
35 Use ``[patchbomb]`` as configuration section name if you need to
36 override global ``[email]`` address settings.
36 override global ``[email]`` address settings.
37
37
38 Then you can use the :hg:`email` command to mail a series of
38 Then you can use the :hg:`email` command to mail a series of
39 changesets as a patchbomb.
39 changesets as a patchbomb.
40
40
41 You can also either configure the method option in the email section
41 You can also either configure the method option in the email section
42 to be a sendmail compatible mailer or fill out the [smtp] section so
42 to be a sendmail compatible mailer or fill out the [smtp] section so
43 that the patchbomb extension can automatically send patchbombs
43 that the patchbomb extension can automatically send patchbombs
44 directly from the commandline. See the [email] and [smtp] sections in
44 directly from the commandline. See the [email] and [smtp] sections in
45 hgrc(5) for details.
45 hgrc(5) for details.
46 '''
46 '''
47
47
48 import os, errno, socket, tempfile, cStringIO
48 import os, errno, socket, tempfile, cStringIO
49 import email.MIMEMultipart, email.MIMEBase
49 import email.MIMEMultipart, email.MIMEBase
50 import email.Utils, email.Encoders, email.Generator
50 import email.Utils, email.Encoders, email.Generator
51 from mercurial import cmdutil, commands, hg, mail, patch, util, discovery
51 from mercurial import cmdutil, commands, hg, mail, patch, util, discovery
52 from mercurial import scmutil
52 from mercurial import scmutil
53 from mercurial.i18n import _
53 from mercurial.i18n import _
54 from mercurial.node import bin
54 from mercurial.node import bin
55
55
56 cmdtable = {}
56 cmdtable = {}
57 command = cmdutil.command(cmdtable)
57 command = cmdutil.command(cmdtable)
58 testedwith = 'internal'
58 testedwith = 'internal'
59
59
60 def prompt(ui, prompt, default=None, rest=':'):
60 def prompt(ui, prompt, default=None, rest=':'):
61 if default:
61 if default:
62 prompt += ' [%s]' % default
62 prompt += ' [%s]' % default
63 return ui.prompt(prompt + rest, default)
63 return ui.prompt(prompt + rest, default)
64
64
65 def introwanted(opts, number):
65 def introwanted(opts, number):
66 '''is an introductory message apparently wanted?'''
66 '''is an introductory message apparently wanted?'''
67 return number > 1 or opts.get('intro') or opts.get('desc')
67 return number > 1 or opts.get('intro') or opts.get('desc')
68
68
69 def makepatch(ui, repo, patchlines, opts, _charsets, idx, total, numbered,
69 def makepatch(ui, repo, patchlines, opts, _charsets, idx, total, numbered,
70 patchname=None):
70 patchname=None):
71
71
72 desc = []
72 desc = []
73 node = None
73 node = None
74 body = ''
74 body = ''
75
75
76 for line in patchlines:
76 for line in patchlines:
77 if line.startswith('#'):
77 if line.startswith('#'):
78 if line.startswith('# Node ID'):
78 if line.startswith('# Node ID'):
79 node = line.split()[-1]
79 node = line.split()[-1]
80 continue
80 continue
81 if line.startswith('diff -r') or line.startswith('diff --git'):
81 if line.startswith('diff -r') or line.startswith('diff --git'):
82 break
82 break
83 desc.append(line)
83 desc.append(line)
84
84
85 if not patchname and not node:
85 if not patchname and not node:
86 raise ValueError
86 raise ValueError
87
87
88 if opts.get('attach') and not opts.get('body'):
88 if opts.get('attach') and not opts.get('body'):
89 body = ('\n'.join(desc[1:]).strip() or
89 body = ('\n'.join(desc[1:]).strip() or
90 'Patch subject is complete summary.')
90 'Patch subject is complete summary.')
91 body += '\n\n\n'
91 body += '\n\n\n'
92
92
93 if opts.get('plain'):
93 if opts.get('plain'):
94 while patchlines and patchlines[0].startswith('# '):
94 while patchlines and patchlines[0].startswith('# '):
95 patchlines.pop(0)
95 patchlines.pop(0)
96 if patchlines:
96 if patchlines:
97 patchlines.pop(0)
97 patchlines.pop(0)
98 while patchlines and not patchlines[0].strip():
98 while patchlines and not patchlines[0].strip():
99 patchlines.pop(0)
99 patchlines.pop(0)
100
100
101 ds = patch.diffstat(patchlines, git=opts.get('git'))
101 ds = patch.diffstat(patchlines, git=opts.get('git'))
102 if opts.get('diffstat'):
102 if opts.get('diffstat'):
103 body += ds + '\n\n'
103 body += ds + '\n\n'
104
104
105 addattachment = opts.get('attach') or opts.get('inline')
105 addattachment = opts.get('attach') or opts.get('inline')
106 if not addattachment or opts.get('body'):
106 if not addattachment or opts.get('body'):
107 body += '\n'.join(patchlines)
107 body += '\n'.join(patchlines)
108
108
109 if addattachment:
109 if addattachment:
110 msg = email.MIMEMultipart.MIMEMultipart()
110 msg = email.MIMEMultipart.MIMEMultipart()
111 if body:
111 if body:
112 msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test')))
112 msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test')))
113 p = mail.mimetextpatch('\n'.join(patchlines), 'x-patch',
113 p = mail.mimetextpatch('\n'.join(patchlines), 'x-patch',
114 opts.get('test'))
114 opts.get('test'))
115 binnode = bin(node)
115 binnode = bin(node)
116 # if node is mq patch, it will have the patch file's name as a tag
116 # if node is mq patch, it will have the patch file's name as a tag
117 if not patchname:
117 if not patchname:
118 patchtags = [t for t in repo.nodetags(binnode)
118 patchtags = [t for t in repo.nodetags(binnode)
119 if t.endswith('.patch') or t.endswith('.diff')]
119 if t.endswith('.patch') or t.endswith('.diff')]
120 if patchtags:
120 if patchtags:
121 patchname = patchtags[0]
121 patchname = patchtags[0]
122 elif total > 1:
122 elif total > 1:
123 patchname = cmdutil.makefilename(repo, '%b-%n.patch',
123 patchname = cmdutil.makefilename(repo, '%b-%n.patch',
124 binnode, seqno=idx,
124 binnode, seqno=idx,
125 total=total)
125 total=total)
126 else:
126 else:
127 patchname = cmdutil.makefilename(repo, '%b.patch', binnode)
127 patchname = cmdutil.makefilename(repo, '%b.patch', binnode)
128 disposition = 'inline'
128 disposition = 'inline'
129 if opts.get('attach'):
129 if opts.get('attach'):
130 disposition = 'attachment'
130 disposition = 'attachment'
131 p['Content-Disposition'] = disposition + '; filename=' + patchname
131 p['Content-Disposition'] = disposition + '; filename=' + patchname
132 msg.attach(p)
132 msg.attach(p)
133 else:
133 else:
134 msg = mail.mimetextpatch(body, display=opts.get('test'))
134 msg = mail.mimetextpatch(body, display=opts.get('test'))
135
135
136 flag = ' '.join(opts.get('flag'))
136 flag = ' '.join(opts.get('flag'))
137 if flag:
137 if flag:
138 flag = ' ' + flag
138 flag = ' ' + flag
139
139
140 subj = desc[0].strip().rstrip('. ')
140 subj = desc[0].strip().rstrip('. ')
141 if not numbered:
141 if not numbered:
142 subj = '[PATCH%s] %s' % (flag, opts.get('subject') or subj)
142 subj = '[PATCH%s] %s' % (flag, opts.get('subject') or subj)
143 else:
143 else:
144 tlen = len(str(total))
144 tlen = len(str(total))
145 subj = '[PATCH %0*d of %d%s] %s' % (tlen, idx, total, flag, subj)
145 subj = '[PATCH %0*d of %d%s] %s' % (tlen, idx, total, flag, subj)
146 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test'))
146 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test'))
147 msg['X-Mercurial-Node'] = node
147 msg['X-Mercurial-Node'] = node
148 return msg, subj, ds
148 return msg, subj, ds
149
149
150 emailopts = [
150 emailopts = [
151 ('', 'body', None, _('send patches as inline message text (default)')),
151 ('', 'body', None, _('send patches as inline message text (default)')),
152 ('a', 'attach', None, _('send patches as attachments')),
152 ('a', 'attach', None, _('send patches as attachments')),
153 ('i', 'inline', None, _('send patches as inline attachments')),
153 ('i', 'inline', None, _('send patches as inline attachments')),
154 ('', 'bcc', [], _('email addresses of blind carbon copy recipients')),
154 ('', 'bcc', [], _('email addresses of blind carbon copy recipients')),
155 ('c', 'cc', [], _('email addresses of copy recipients')),
155 ('c', 'cc', [], _('email addresses of copy recipients')),
156 ('', 'confirm', None, _('ask for confirmation before sending')),
156 ('', 'confirm', None, _('ask for confirmation before sending')),
157 ('d', 'diffstat', None, _('add diffstat output to messages')),
157 ('d', 'diffstat', None, _('add diffstat output to messages')),
158 ('', 'date', '', _('use the given date as the sending date')),
158 ('', 'date', '', _('use the given date as the sending date')),
159 ('', 'desc', '', _('use the given file as the series description')),
159 ('', 'desc', '', _('use the given file as the series description')),
160 ('f', 'from', '', _('email address of sender')),
160 ('f', 'from', '', _('email address of sender')),
161 ('n', 'test', None, _('print messages that would be sent')),
161 ('n', 'test', None, _('print messages that would be sent')),
162 ('m', 'mbox', '', _('write messages to mbox file instead of sending them')),
162 ('m', 'mbox', '', _('write messages to mbox file instead of sending them')),
163 ('', 'reply-to', [], _('email addresses replies should be sent to')),
163 ('', 'reply-to', [], _('email addresses replies should be sent to')),
164 ('s', 'subject', '', _('subject of first message (intro or single patch)')),
164 ('s', 'subject', '', _('subject of first message (intro or single patch)')),
165 ('', 'in-reply-to', '', _('message identifier to reply to')),
165 ('', 'in-reply-to', '', _('message identifier to reply to')),
166 ('', 'flag', [], _('flags to add in subject prefixes')),
166 ('', 'flag', [], _('flags to add in subject prefixes')),
167 ('t', 'to', [], _('email addresses of recipients'))]
167 ('t', 'to', [], _('email addresses of recipients'))]
168
168
169 @command('email',
169 @command('email',
170 [('g', 'git', None, _('use git extended diff format')),
170 [('g', 'git', None, _('use git extended diff format')),
171 ('', 'plain', None, _('omit hg patch header')),
171 ('', 'plain', None, _('omit hg patch header')),
172 ('o', 'outgoing', None,
172 ('o', 'outgoing', None,
173 _('send changes not found in the target repository')),
173 _('send changes not found in the target repository')),
174 ('b', 'bundle', None, _('send changes not in target as a binary bundle')),
174 ('b', 'bundle', None, _('send changes not in target as a binary bundle')),
175 ('', 'bundlename', 'bundle',
175 ('', 'bundlename', 'bundle',
176 _('name of the bundle attachment file'), _('NAME')),
176 _('name of the bundle attachment file'), _('NAME')),
177 ('r', 'rev', [], _('a revision to send'), _('REV')),
177 ('r', 'rev', [], _('a revision to send'), _('REV')),
178 ('', 'force', None, _('run even when remote repository is unrelated '
178 ('', 'force', None, _('run even when remote repository is unrelated '
179 '(with -b/--bundle)')),
179 '(with -b/--bundle)')),
180 ('', 'base', [], _('a base changeset to specify instead of a destination '
180 ('', 'base', [], _('a base changeset to specify instead of a destination '
181 '(with -b/--bundle)'), _('REV')),
181 '(with -b/--bundle)'), _('REV')),
182 ('', 'intro', None, _('send an introduction email for a single patch')),
182 ('', 'intro', None, _('send an introduction email for a single patch')),
183 ] + emailopts + commands.remoteopts,
183 ] + emailopts + commands.remoteopts,
184 _('hg email [OPTION]... [DEST]...'))
184 _('hg email [OPTION]... [DEST]...'))
185 def patchbomb(ui, repo, *revs, **opts):
185 def patchbomb(ui, repo, *revs, **opts):
186 '''send changesets by email
186 '''send changesets by email
187
187
188 By default, diffs are sent in the format generated by
188 By default, diffs are sent in the format generated by
189 :hg:`export`, one per message. The series starts with a "[PATCH 0
189 :hg:`export`, one per message. The series starts with a "[PATCH 0
190 of N]" introduction, which describes the series as a whole.
190 of N]" introduction, which describes the series as a whole.
191
191
192 Each patch email has a Subject line of "[PATCH M of N] ...", using
192 Each patch email has a Subject line of "[PATCH M of N] ...", using
193 the first line of the changeset description as the subject text.
193 the first line of the changeset description as the subject text.
194 The message contains two or three parts. First, the changeset
194 The message contains two or three parts. First, the changeset
195 description.
195 description.
196
196
197 With the -d/--diffstat option, if the diffstat program is
197 With the -d/--diffstat option, if the diffstat program is
198 installed, the result of running diffstat on the patch is inserted.
198 installed, the result of running diffstat on the patch is inserted.
199
199
200 Finally, the patch itself, as generated by :hg:`export`.
200 Finally, the patch itself, as generated by :hg:`export`.
201
201
202 With the -d/--diffstat or -c/--confirm options, you will be presented
202 With the -d/--diffstat or -c/--confirm options, you will be presented
203 with a final summary of all messages and asked for confirmation before
203 with a final summary of all messages and asked for confirmation before
204 the messages are sent.
204 the messages are sent.
205
205
206 By default the patch is included as text in the email body for
206 By default the patch is included as text in the email body for
207 easy reviewing. Using the -a/--attach option will instead create
207 easy reviewing. Using the -a/--attach option will instead create
208 an attachment for the patch. With -i/--inline an inline attachment
208 an attachment for the patch. With -i/--inline an inline attachment
209 will be created. You can include a patch both as text in the email
209 will be created. You can include a patch both as text in the email
210 body and as a regular or an inline attachment by combining the
210 body and as a regular or an inline attachment by combining the
211 -a/--attach or -i/--inline with the --body option.
211 -a/--attach or -i/--inline with the --body option.
212
212
213 With -o/--outgoing, emails will be generated for patches not found
213 With -o/--outgoing, emails will be generated for patches not found
214 in the destination repository (or only those which are ancestors
214 in the destination repository (or only those which are ancestors
215 of the specified revisions if any are provided)
215 of the specified revisions if any are provided)
216
216
217 With -b/--bundle, changesets are selected as for --outgoing, but a
217 With -b/--bundle, changesets are selected as for --outgoing, but a
218 single email containing a binary Mercurial bundle as an attachment
218 single email containing a binary Mercurial bundle as an attachment
219 will be sent.
219 will be sent.
220
220
221 With -m/--mbox, instead of previewing each patchbomb message in a
221 With -m/--mbox, instead of previewing each patchbomb message in a
222 pager or sending the messages directly, it will create a UNIX
222 pager or sending the messages directly, it will create a UNIX
223 mailbox file with the patch emails. This mailbox file can be
223 mailbox file with the patch emails. This mailbox file can be
224 previewed with any mail user agent which supports UNIX mbox
224 previewed with any mail user agent which supports UNIX mbox
225 files.
225 files.
226
226
227 With -n/--test, all steps will run, but mail will not be sent.
227 With -n/--test, all steps will run, but mail will not be sent.
228 You will be prompted for an email recipient address, a subject and
228 You will be prompted for an email recipient address, a subject and
229 an introductory message describing the patches of your patchbomb.
229 an introductory message describing the patches of your patchbomb.
230 Then when all is done, patchbomb messages are displayed. If the
230 Then when all is done, patchbomb messages are displayed. If the
231 PAGER environment variable is set, your pager will be fired up once
231 PAGER environment variable is set, your pager will be fired up once
232 for each patchbomb message, so you can verify everything is alright.
232 for each patchbomb message, so you can verify everything is alright.
233
233
234 In case email sending fails, you will find a backup of your series
234 In case email sending fails, you will find a backup of your series
235 introductory message in ``.hg/last-email.txt``.
235 introductory message in ``.hg/last-email.txt``.
236
236
237 Examples::
237 Examples::
238
238
239 hg email -r 3000 # send patch 3000 only
239 hg email -r 3000 # send patch 3000 only
240 hg email -r 3000 -r 3001 # send patches 3000 and 3001
240 hg email -r 3000 -r 3001 # send patches 3000 and 3001
241 hg email -r 3000:3005 # send patches 3000 through 3005
241 hg email -r 3000:3005 # send patches 3000 through 3005
242 hg email 3000 # send patch 3000 (deprecated)
242 hg email 3000 # send patch 3000 (deprecated)
243
243
244 hg email -o # send all patches not in default
244 hg email -o # send all patches not in default
245 hg email -o DEST # send all patches not in DEST
245 hg email -o DEST # send all patches not in DEST
246 hg email -o -r 3000 # send all ancestors of 3000 not in default
246 hg email -o -r 3000 # send all ancestors of 3000 not in default
247 hg email -o -r 3000 DEST # send all ancestors of 3000 not in DEST
247 hg email -o -r 3000 DEST # send all ancestors of 3000 not in DEST
248
248
249 hg email -b # send bundle of all patches not in default
249 hg email -b # send bundle of all patches not in default
250 hg email -b DEST # send bundle of all patches not in DEST
250 hg email -b DEST # send bundle of all patches not in DEST
251 hg email -b -r 3000 # bundle of all ancestors of 3000 not in default
251 hg email -b -r 3000 # bundle of all ancestors of 3000 not in default
252 hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST
252 hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST
253
253
254 hg email -o -m mbox && # generate an mbox file...
254 hg email -o -m mbox && # generate an mbox file...
255 mutt -R -f mbox # ... and view it with mutt
255 mutt -R -f mbox # ... and view it with mutt
256 hg email -o -m mbox && # generate an mbox file ...
256 hg email -o -m mbox && # generate an mbox file ...
257 formail -s sendmail \\ # ... and use formail to send from the mbox
257 formail -s sendmail \\ # ... and use formail to send from the mbox
258 -bm -t < mbox # ... using sendmail
258 -bm -t < mbox # ... using sendmail
259
259
260 Before using this command, you will need to enable email in your
260 Before using this command, you will need to enable email in your
261 hgrc. See the [email] section in hgrc(5) for details.
261 hgrc. See the [email] section in hgrc(5) for details.
262 '''
262 '''
263
263
264 _charsets = mail._charsets(ui)
264 _charsets = mail._charsets(ui)
265
265
266 bundle = opts.get('bundle')
266 bundle = opts.get('bundle')
267 date = opts.get('date')
267 date = opts.get('date')
268 mbox = opts.get('mbox')
268 mbox = opts.get('mbox')
269 outgoing = opts.get('outgoing')
269 outgoing = opts.get('outgoing')
270 rev = opts.get('rev')
270 rev = opts.get('rev')
271 # internal option used by pbranches
271 # internal option used by pbranches
272 patches = opts.get('patches')
272 patches = opts.get('patches')
273
273
274 def getoutgoing(dest, revs):
274 def getoutgoing(dest, revs):
275 '''Return the revisions present locally but not in dest'''
275 '''Return the revisions present locally but not in dest'''
276 dest = ui.expandpath(dest or 'default-push', dest or 'default')
276 dest = ui.expandpath(dest or 'default-push', dest or 'default')
277 dest, branches = hg.parseurl(dest)
277 dest, branches = hg.parseurl(dest)
278 revs, checkout = hg.addbranchrevs(repo, repo, branches, revs)
278 revs, checkout = hg.addbranchrevs(repo, repo, branches, revs)
279 other = hg.peer(repo, opts, dest)
279 other = hg.peer(repo, opts, dest)
280 ui.status(_('comparing with %s\n') % util.hidepassword(dest))
280 ui.status(_('comparing with %s\n') % util.hidepassword(dest))
281 common, _anyinc, _heads = discovery.findcommonincoming(repo, other)
281 common, _anyinc, _heads = discovery.findcommonincoming(repo, other)
282 nodes = revs and map(repo.lookup, revs) or revs
282 nodes = revs and map(repo.lookup, revs) or revs
283 o = repo.changelog.findmissing(common, heads=nodes)
283 o = repo.changelog.findmissing(common, heads=nodes)
284 if not o:
284 if not o:
285 ui.status(_("no changes found\n"))
285 ui.status(_("no changes found\n"))
286 return []
286 return []
287 return [str(repo.changelog.rev(r)) for r in o]
287 return [str(repo.changelog.rev(r)) for r in o]
288
288
289 def getpatches(revs):
289 def getpatches(revs):
290 for r in scmutil.revrange(repo, revs):
290 for r in scmutil.revrange(repo, revs):
291 output = cStringIO.StringIO()
291 output = cStringIO.StringIO()
292 cmdutil.export(repo, [r], fp=output,
292 cmdutil.export(repo, [r], fp=output,
293 opts=patch.diffopts(ui, opts))
293 opts=patch.diffopts(ui, opts))
294 yield output.getvalue().split('\n')
294 yield output.getvalue().split('\n')
295
295
296 def getbundle(dest):
296 def getbundle(dest):
297 tmpdir = tempfile.mkdtemp(prefix='hg-email-bundle-')
297 tmpdir = tempfile.mkdtemp(prefix='hg-email-bundle-')
298 tmpfn = os.path.join(tmpdir, 'bundle')
298 tmpfn = os.path.join(tmpdir, 'bundle')
299 try:
299 try:
300 commands.bundle(ui, repo, tmpfn, dest, **opts)
300 commands.bundle(ui, repo, tmpfn, dest, **opts)
301 fp = open(tmpfn, 'rb')
301 fp = open(tmpfn, 'rb')
302 data = fp.read()
302 data = fp.read()
303 fp.close()
303 fp.close()
304 return data
304 return data
305 finally:
305 finally:
306 try:
306 try:
307 os.unlink(tmpfn)
307 os.unlink(tmpfn)
308 except OSError:
308 except OSError:
309 pass
309 pass
310 os.rmdir(tmpdir)
310 os.rmdir(tmpdir)
311
311
312 if not (opts.get('test') or mbox):
312 if not (opts.get('test') or mbox):
313 # really sending
313 # really sending
314 mail.validateconfig(ui)
314 mail.validateconfig(ui)
315
315
316 if not (revs or rev or outgoing or bundle or patches):
316 if not (revs or rev or outgoing or bundle or patches):
317 raise util.Abort(_('specify at least one changeset with -r or -o'))
317 raise util.Abort(_('specify at least one changeset with -r or -o'))
318
318
319 if outgoing and bundle:
319 if outgoing and bundle:
320 raise util.Abort(_("--outgoing mode always on with --bundle;"
320 raise util.Abort(_("--outgoing mode always on with --bundle;"
321 " do not re-specify --outgoing"))
321 " do not re-specify --outgoing"))
322
322
323 if outgoing or bundle:
323 if outgoing or bundle:
324 if len(revs) > 1:
324 if len(revs) > 1:
325 raise util.Abort(_("too many destinations"))
325 raise util.Abort(_("too many destinations"))
326 dest = revs and revs[0] or None
326 dest = revs and revs[0] or None
327 revs = []
327 revs = []
328
328
329 if rev:
329 if rev:
330 if revs:
330 if revs:
331 raise util.Abort(_('use only one form to specify the revision'))
331 raise util.Abort(_('use only one form to specify the revision'))
332 revs = rev
332 revs = rev
333
333
334 if outgoing:
334 if outgoing:
335 revs = getoutgoing(dest, rev)
335 revs = getoutgoing(dest, rev)
336 if bundle:
336 if bundle:
337 opts['revs'] = revs
337 opts['revs'] = revs
338
338
339 # start
339 # start
340 if date:
340 if date:
341 start_time = util.parsedate(date)
341 start_time = util.parsedate(date)
342 else:
342 else:
343 start_time = util.makedate()
343 start_time = util.makedate()
344
344
345 def genmsgid(id):
345 def genmsgid(id):
346 return '<%s.%s@%s>' % (id[:20], int(start_time[0]), socket.getfqdn())
346 return '<%s.%s@%s>' % (id[:20], int(start_time[0]), socket.getfqdn())
347
347
348 def getdescription(body, sender):
348 def getdescription(body, sender):
349 if opts.get('desc'):
349 if opts.get('desc'):
350 body = open(opts.get('desc')).read()
350 body = open(opts.get('desc')).read()
351 else:
351 else:
352 ui.write(_('\nWrite the introductory message for the '
352 ui.write(_('\nWrite the introductory message for the '
353 'patch series.\n\n'))
353 'patch series.\n\n'))
354 body = ui.edit(body, sender)
354 body = ui.edit(body, sender)
355 # Save series description in case sendmail fails
355 # Save series description in case sendmail fails
356 msgfile = repo.opener('last-email.txt', 'wb')
356 msgfile = repo.opener('last-email.txt', 'wb')
357 msgfile.write(body)
357 msgfile.write(body)
358 msgfile.close()
358 msgfile.close()
359 return body
359 return body
360
360
361 def getpatchmsgs(patches, patchnames=None):
361 def getpatchmsgs(patches, patchnames=None):
362 msgs = []
362 msgs = []
363
363
364 ui.write(_('This patch series consists of %d patches.\n\n')
364 ui.write(_('this patch series consists of %d patches.\n\n')
365 % len(patches))
365 % len(patches))
366
366
367 # build the intro message, or skip it if the user declines
367 # build the intro message, or skip it if the user declines
368 if introwanted(opts, len(patches)):
368 if introwanted(opts, len(patches)):
369 msg = makeintro(patches)
369 msg = makeintro(patches)
370 if msg:
370 if msg:
371 msgs.append(msg)
371 msgs.append(msg)
372
372
373 # are we going to send more than one message?
373 # are we going to send more than one message?
374 numbered = len(msgs) + len(patches) > 1
374 numbered = len(msgs) + len(patches) > 1
375
375
376 # now generate the actual patch messages
376 # now generate the actual patch messages
377 name = None
377 name = None
378 for i, p in enumerate(patches):
378 for i, p in enumerate(patches):
379 if patchnames:
379 if patchnames:
380 name = patchnames[i]
380 name = patchnames[i]
381 msg = makepatch(ui, repo, p, opts, _charsets, i + 1,
381 msg = makepatch(ui, repo, p, opts, _charsets, i + 1,
382 len(patches), numbered, name)
382 len(patches), numbered, name)
383 msgs.append(msg)
383 msgs.append(msg)
384
384
385 return msgs
385 return msgs
386
386
387 def makeintro(patches):
387 def makeintro(patches):
388 tlen = len(str(len(patches)))
388 tlen = len(str(len(patches)))
389
389
390 flag = opts.get('flag') or ''
390 flag = opts.get('flag') or ''
391 if flag:
391 if flag:
392 flag = ' ' + ' '.join(flag)
392 flag = ' ' + ' '.join(flag)
393 prefix = '[PATCH %0*d of %d%s]' % (tlen, 0, len(patches), flag)
393 prefix = '[PATCH %0*d of %d%s]' % (tlen, 0, len(patches), flag)
394
394
395 subj = (opts.get('subject') or
395 subj = (opts.get('subject') or
396 prompt(ui, '(optional) Subject: ', rest=prefix, default=''))
396 prompt(ui, '(optional) Subject: ', rest=prefix, default=''))
397 if not subj:
397 if not subj:
398 return None # skip intro if the user doesn't bother
398 return None # skip intro if the user doesn't bother
399
399
400 subj = prefix + ' ' + subj
400 subj = prefix + ' ' + subj
401
401
402 body = ''
402 body = ''
403 if opts.get('diffstat'):
403 if opts.get('diffstat'):
404 # generate a cumulative diffstat of the whole patch series
404 # generate a cumulative diffstat of the whole patch series
405 diffstat = patch.diffstat(sum(patches, []))
405 diffstat = patch.diffstat(sum(patches, []))
406 body = '\n' + diffstat
406 body = '\n' + diffstat
407 else:
407 else:
408 diffstat = None
408 diffstat = None
409
409
410 body = getdescription(body, sender)
410 body = getdescription(body, sender)
411 msg = mail.mimeencode(ui, body, _charsets, opts.get('test'))
411 msg = mail.mimeencode(ui, body, _charsets, opts.get('test'))
412 msg['Subject'] = mail.headencode(ui, subj, _charsets,
412 msg['Subject'] = mail.headencode(ui, subj, _charsets,
413 opts.get('test'))
413 opts.get('test'))
414 return (msg, subj, diffstat)
414 return (msg, subj, diffstat)
415
415
416 def getbundlemsgs(bundle):
416 def getbundlemsgs(bundle):
417 subj = (opts.get('subject')
417 subj = (opts.get('subject')
418 or prompt(ui, 'Subject:', 'A bundle for your repository'))
418 or prompt(ui, 'Subject:', 'A bundle for your repository'))
419
419
420 body = getdescription('', sender)
420 body = getdescription('', sender)
421 msg = email.MIMEMultipart.MIMEMultipart()
421 msg = email.MIMEMultipart.MIMEMultipart()
422 if body:
422 if body:
423 msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test')))
423 msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test')))
424 datapart = email.MIMEBase.MIMEBase('application', 'x-mercurial-bundle')
424 datapart = email.MIMEBase.MIMEBase('application', 'x-mercurial-bundle')
425 datapart.set_payload(bundle)
425 datapart.set_payload(bundle)
426 bundlename = '%s.hg' % opts.get('bundlename', 'bundle')
426 bundlename = '%s.hg' % opts.get('bundlename', 'bundle')
427 datapart.add_header('Content-Disposition', 'attachment',
427 datapart.add_header('Content-Disposition', 'attachment',
428 filename=bundlename)
428 filename=bundlename)
429 email.Encoders.encode_base64(datapart)
429 email.Encoders.encode_base64(datapart)
430 msg.attach(datapart)
430 msg.attach(datapart)
431 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test'))
431 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test'))
432 return [(msg, subj, None)]
432 return [(msg, subj, None)]
433
433
434 sender = (opts.get('from') or ui.config('email', 'from') or
434 sender = (opts.get('from') or ui.config('email', 'from') or
435 ui.config('patchbomb', 'from') or
435 ui.config('patchbomb', 'from') or
436 prompt(ui, 'From', ui.username()))
436 prompt(ui, 'From', ui.username()))
437
437
438 if patches:
438 if patches:
439 msgs = getpatchmsgs(patches, opts.get('patchnames'))
439 msgs = getpatchmsgs(patches, opts.get('patchnames'))
440 elif bundle:
440 elif bundle:
441 msgs = getbundlemsgs(getbundle(dest))
441 msgs = getbundlemsgs(getbundle(dest))
442 else:
442 else:
443 msgs = getpatchmsgs(list(getpatches(revs)))
443 msgs = getpatchmsgs(list(getpatches(revs)))
444
444
445 showaddrs = []
445 showaddrs = []
446
446
447 def getaddrs(header, ask=False, default=None):
447 def getaddrs(header, ask=False, default=None):
448 configkey = header.lower()
448 configkey = header.lower()
449 opt = header.replace('-', '_').lower()
449 opt = header.replace('-', '_').lower()
450 addrs = opts.get(opt)
450 addrs = opts.get(opt)
451 if addrs:
451 if addrs:
452 showaddrs.append('%s: %s' % (header, ', '.join(addrs)))
452 showaddrs.append('%s: %s' % (header, ', '.join(addrs)))
453 return mail.addrlistencode(ui, addrs, _charsets, opts.get('test'))
453 return mail.addrlistencode(ui, addrs, _charsets, opts.get('test'))
454
454
455 # not on the command line: fallback to config and then maybe ask
455 # not on the command line: fallback to config and then maybe ask
456 addr = (ui.config('email', configkey) or
456 addr = (ui.config('email', configkey) or
457 ui.config('patchbomb', configkey) or
457 ui.config('patchbomb', configkey) or
458 '')
458 '')
459 if not addr and ask:
459 if not addr and ask:
460 addr = prompt(ui, header, default=default)
460 addr = prompt(ui, header, default=default)
461 if addr:
461 if addr:
462 showaddrs.append('%s: %s' % (header, addr))
462 showaddrs.append('%s: %s' % (header, addr))
463 return mail.addrlistencode(ui, [addr], _charsets, opts.get('test'))
463 return mail.addrlistencode(ui, [addr], _charsets, opts.get('test'))
464 else:
464 else:
465 return default
465 return default
466
466
467 to = getaddrs('To', ask=True)
467 to = getaddrs('To', ask=True)
468 if not to:
468 if not to:
469 # we can get here in non-interactive mode
469 # we can get here in non-interactive mode
470 raise util.Abort(_('no recipient addresses provided'))
470 raise util.Abort(_('no recipient addresses provided'))
471 cc = getaddrs('Cc', ask=True, default='') or []
471 cc = getaddrs('Cc', ask=True, default='') or []
472 bcc = getaddrs('Bcc') or []
472 bcc = getaddrs('Bcc') or []
473 replyto = getaddrs('Reply-To')
473 replyto = getaddrs('Reply-To')
474
474
475 if opts.get('diffstat') or opts.get('confirm'):
475 if opts.get('diffstat') or opts.get('confirm'):
476 ui.write(_('\nFinal summary:\n\n'))
476 ui.write(_('\nFinal summary:\n\n'))
477 ui.write('From: %s\n' % sender)
477 ui.write('From: %s\n' % sender)
478 for addr in showaddrs:
478 for addr in showaddrs:
479 ui.write('%s\n' % addr)
479 ui.write('%s\n' % addr)
480 for m, subj, ds in msgs:
480 for m, subj, ds in msgs:
481 ui.write('Subject: %s\n' % subj)
481 ui.write('Subject: %s\n' % subj)
482 if ds:
482 if ds:
483 ui.write(ds)
483 ui.write(ds)
484 ui.write('\n')
484 ui.write('\n')
485 if ui.promptchoice(_('are you sure you want to send (yn)?'),
485 if ui.promptchoice(_('are you sure you want to send (yn)?'),
486 (_('&Yes'), _('&No'))):
486 (_('&Yes'), _('&No'))):
487 raise util.Abort(_('patchbomb canceled'))
487 raise util.Abort(_('patchbomb canceled'))
488
488
489 ui.write('\n')
489 ui.write('\n')
490
490
491 parent = opts.get('in_reply_to') or None
491 parent = opts.get('in_reply_to') or None
492 # angle brackets may be omitted, they're not semantically part of the msg-id
492 # angle brackets may be omitted, they're not semantically part of the msg-id
493 if parent is not None:
493 if parent is not None:
494 if not parent.startswith('<'):
494 if not parent.startswith('<'):
495 parent = '<' + parent
495 parent = '<' + parent
496 if not parent.endswith('>'):
496 if not parent.endswith('>'):
497 parent += '>'
497 parent += '>'
498
498
499 first = True
499 first = True
500
500
501 sender_addr = email.Utils.parseaddr(sender)[1]
501 sender_addr = email.Utils.parseaddr(sender)[1]
502 sender = mail.addressencode(ui, sender, _charsets, opts.get('test'))
502 sender = mail.addressencode(ui, sender, _charsets, opts.get('test'))
503 sendmail = None
503 sendmail = None
504 for i, (m, subj, ds) in enumerate(msgs):
504 for i, (m, subj, ds) in enumerate(msgs):
505 try:
505 try:
506 m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
506 m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
507 except TypeError:
507 except TypeError:
508 m['Message-Id'] = genmsgid('patchbomb')
508 m['Message-Id'] = genmsgid('patchbomb')
509 if parent:
509 if parent:
510 m['In-Reply-To'] = parent
510 m['In-Reply-To'] = parent
511 m['References'] = parent
511 m['References'] = parent
512 if first:
512 if first:
513 parent = m['Message-Id']
513 parent = m['Message-Id']
514 first = False
514 first = False
515
515
516 m['User-Agent'] = 'Mercurial-patchbomb/%s' % util.version()
516 m['User-Agent'] = 'Mercurial-patchbomb/%s' % util.version()
517 m['Date'] = email.Utils.formatdate(start_time[0], localtime=True)
517 m['Date'] = email.Utils.formatdate(start_time[0], localtime=True)
518
518
519 start_time = (start_time[0] + 1, start_time[1])
519 start_time = (start_time[0] + 1, start_time[1])
520 m['From'] = sender
520 m['From'] = sender
521 m['To'] = ', '.join(to)
521 m['To'] = ', '.join(to)
522 if cc:
522 if cc:
523 m['Cc'] = ', '.join(cc)
523 m['Cc'] = ', '.join(cc)
524 if bcc:
524 if bcc:
525 m['Bcc'] = ', '.join(bcc)
525 m['Bcc'] = ', '.join(bcc)
526 if replyto:
526 if replyto:
527 m['Reply-To'] = ', '.join(replyto)
527 m['Reply-To'] = ', '.join(replyto)
528 if opts.get('test'):
528 if opts.get('test'):
529 ui.status(_('Displaying '), subj, ' ...\n')
529 ui.status(_('displaying '), subj, ' ...\n')
530 ui.flush()
530 ui.flush()
531 if 'PAGER' in os.environ and not ui.plain():
531 if 'PAGER' in os.environ and not ui.plain():
532 fp = util.popen(os.environ['PAGER'], 'w')
532 fp = util.popen(os.environ['PAGER'], 'w')
533 else:
533 else:
534 fp = ui
534 fp = ui
535 generator = email.Generator.Generator(fp, mangle_from_=False)
535 generator = email.Generator.Generator(fp, mangle_from_=False)
536 try:
536 try:
537 generator.flatten(m, 0)
537 generator.flatten(m, 0)
538 fp.write('\n')
538 fp.write('\n')
539 except IOError, inst:
539 except IOError, inst:
540 if inst.errno != errno.EPIPE:
540 if inst.errno != errno.EPIPE:
541 raise
541 raise
542 if fp is not ui:
542 if fp is not ui:
543 fp.close()
543 fp.close()
544 else:
544 else:
545 if not sendmail:
545 if not sendmail:
546 sendmail = mail.connect(ui, mbox=mbox)
546 sendmail = mail.connect(ui, mbox=mbox)
547 ui.status(_('Sending '), subj, ' ...\n')
547 ui.status(_('sending '), subj, ' ...\n')
548 ui.progress(_('sending'), i, item=subj, total=len(msgs))
548 ui.progress(_('sending'), i, item=subj, total=len(msgs))
549 if not mbox:
549 if not mbox:
550 # Exim does not remove the Bcc field
550 # Exim does not remove the Bcc field
551 del m['Bcc']
551 del m['Bcc']
552 fp = cStringIO.StringIO()
552 fp = cStringIO.StringIO()
553 generator = email.Generator.Generator(fp, mangle_from_=False)
553 generator = email.Generator.Generator(fp, mangle_from_=False)
554 generator.flatten(m, 0)
554 generator.flatten(m, 0)
555 sendmail(sender_addr, to + bcc + cc, fp.getvalue())
555 sendmail(sender_addr, to + bcc + cc, fp.getvalue())
556
556
557 ui.progress(_('writing'), None)
557 ui.progress(_('writing'), None)
558 ui.progress(_('sending'), None)
558 ui.progress(_('sending'), None)
@@ -1,2388 +1,2388 b''
1 $ echo "[extensions]" >> $HGRCPATH
1 $ echo "[extensions]" >> $HGRCPATH
2 $ echo "patchbomb=" >> $HGRCPATH
2 $ echo "patchbomb=" >> $HGRCPATH
3
3
4 $ hg init t
4 $ hg init t
5 $ cd t
5 $ cd t
6 $ echo a > a
6 $ echo a > a
7 $ hg commit -Ama -d '1 0'
7 $ hg commit -Ama -d '1 0'
8 adding a
8 adding a
9
9
10 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip
10 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip
11 This patch series consists of 1 patches.
11 this patch series consists of 1 patches.
12
12
13
13
14 Displaying [PATCH] a ...
14 displaying [PATCH] a ...
15 Content-Type: text/plain; charset="us-ascii"
15 Content-Type: text/plain; charset="us-ascii"
16 MIME-Version: 1.0
16 MIME-Version: 1.0
17 Content-Transfer-Encoding: 7bit
17 Content-Transfer-Encoding: 7bit
18 Subject: [PATCH] a
18 Subject: [PATCH] a
19 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
19 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
20 Message-Id: <8580ff50825a50c8f716.60@*> (glob)
20 Message-Id: <8580ff50825a50c8f716.60@*> (glob)
21 User-Agent: Mercurial-patchbomb/* (glob)
21 User-Agent: Mercurial-patchbomb/* (glob)
22 Date: Thu, 01 Jan 1970 00:01:00 +0000
22 Date: Thu, 01 Jan 1970 00:01:00 +0000
23 From: quux
23 From: quux
24 To: foo
24 To: foo
25 Cc: bar
25 Cc: bar
26
26
27 # HG changeset patch
27 # HG changeset patch
28 # User test
28 # User test
29 # Date 1 0
29 # Date 1 0
30 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
30 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
31 # Parent 0000000000000000000000000000000000000000
31 # Parent 0000000000000000000000000000000000000000
32 a
32 a
33
33
34 diff -r 000000000000 -r 8580ff50825a a
34 diff -r 000000000000 -r 8580ff50825a a
35 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
35 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
36 +++ b/a Thu Jan 01 00:00:01 1970 +0000
36 +++ b/a Thu Jan 01 00:00:01 1970 +0000
37 @@ -0,0 +1,1 @@
37 @@ -0,0 +1,1 @@
38 +a
38 +a
39
39
40
40
41 $ hg --config ui.interactive=1 email --confirm -n -f quux -t foo -c bar -r tip<<EOF
41 $ hg --config ui.interactive=1 email --confirm -n -f quux -t foo -c bar -r tip<<EOF
42 > n
42 > n
43 > EOF
43 > EOF
44 This patch series consists of 1 patches.
44 this patch series consists of 1 patches.
45
45
46
46
47 Final summary:
47 Final summary:
48
48
49 From: quux
49 From: quux
50 To: foo
50 To: foo
51 Cc: bar
51 Cc: bar
52 Subject: [PATCH] a
52 Subject: [PATCH] a
53 a | 1 +
53 a | 1 +
54 1 files changed, 1 insertions(+), 0 deletions(-)
54 1 files changed, 1 insertions(+), 0 deletions(-)
55
55
56 are you sure you want to send (yn)? abort: patchbomb canceled
56 are you sure you want to send (yn)? abort: patchbomb canceled
57 [255]
57 [255]
58
58
59 $ echo b > b
59 $ echo b > b
60 $ hg commit -Amb -d '2 0'
60 $ hg commit -Amb -d '2 0'
61 adding b
61 adding b
62
62
63 $ hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test -r 0:tip
63 $ hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test -r 0:tip
64 This patch series consists of 2 patches.
64 this patch series consists of 2 patches.
65
65
66
66
67 Write the introductory message for the patch series.
67 Write the introductory message for the patch series.
68
68
69
69
70 Displaying [PATCH 0 of 2] test ...
70 displaying [PATCH 0 of 2] test ...
71 Content-Type: text/plain; charset="us-ascii"
71 Content-Type: text/plain; charset="us-ascii"
72 MIME-Version: 1.0
72 MIME-Version: 1.0
73 Content-Transfer-Encoding: 7bit
73 Content-Transfer-Encoding: 7bit
74 Subject: [PATCH 0 of 2] test
74 Subject: [PATCH 0 of 2] test
75 Message-Id: <patchbomb.120@*> (glob)
75 Message-Id: <patchbomb.120@*> (glob)
76 User-Agent: Mercurial-patchbomb/* (glob)
76 User-Agent: Mercurial-patchbomb/* (glob)
77 Date: Thu, 01 Jan 1970 00:02:00 +0000
77 Date: Thu, 01 Jan 1970 00:02:00 +0000
78 From: quux
78 From: quux
79 To: foo
79 To: foo
80 Cc: bar
80 Cc: bar
81
81
82
82
83 Displaying [PATCH 1 of 2] a ...
83 displaying [PATCH 1 of 2] a ...
84 Content-Type: text/plain; charset="us-ascii"
84 Content-Type: text/plain; charset="us-ascii"
85 MIME-Version: 1.0
85 MIME-Version: 1.0
86 Content-Transfer-Encoding: 7bit
86 Content-Transfer-Encoding: 7bit
87 Subject: [PATCH 1 of 2] a
87 Subject: [PATCH 1 of 2] a
88 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
88 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
89 Message-Id: <8580ff50825a50c8f716.121@*> (glob)
89 Message-Id: <8580ff50825a50c8f716.121@*> (glob)
90 In-Reply-To: <patchbomb.120@*> (glob)
90 In-Reply-To: <patchbomb.120@*> (glob)
91 References: <patchbomb.120@*> (glob)
91 References: <patchbomb.120@*> (glob)
92 User-Agent: Mercurial-patchbomb/* (glob)
92 User-Agent: Mercurial-patchbomb/* (glob)
93 Date: Thu, 01 Jan 1970 00:02:01 +0000
93 Date: Thu, 01 Jan 1970 00:02:01 +0000
94 From: quux
94 From: quux
95 To: foo
95 To: foo
96 Cc: bar
96 Cc: bar
97
97
98 # HG changeset patch
98 # HG changeset patch
99 # User test
99 # User test
100 # Date 1 0
100 # Date 1 0
101 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
101 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
102 # Parent 0000000000000000000000000000000000000000
102 # Parent 0000000000000000000000000000000000000000
103 a
103 a
104
104
105 diff -r 000000000000 -r 8580ff50825a a
105 diff -r 000000000000 -r 8580ff50825a a
106 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
106 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
107 +++ b/a Thu Jan 01 00:00:01 1970 +0000
107 +++ b/a Thu Jan 01 00:00:01 1970 +0000
108 @@ -0,0 +1,1 @@
108 @@ -0,0 +1,1 @@
109 +a
109 +a
110
110
111 Displaying [PATCH 2 of 2] b ...
111 displaying [PATCH 2 of 2] b ...
112 Content-Type: text/plain; charset="us-ascii"
112 Content-Type: text/plain; charset="us-ascii"
113 MIME-Version: 1.0
113 MIME-Version: 1.0
114 Content-Transfer-Encoding: 7bit
114 Content-Transfer-Encoding: 7bit
115 Subject: [PATCH 2 of 2] b
115 Subject: [PATCH 2 of 2] b
116 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
116 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
117 Message-Id: <97d72e5f12c7e84f8506.122@*> (glob)
117 Message-Id: <97d72e5f12c7e84f8506.122@*> (glob)
118 In-Reply-To: <patchbomb.120@*> (glob)
118 In-Reply-To: <patchbomb.120@*> (glob)
119 References: <patchbomb.120@*> (glob)
119 References: <patchbomb.120@*> (glob)
120 User-Agent: Mercurial-patchbomb/* (glob)
120 User-Agent: Mercurial-patchbomb/* (glob)
121 Date: Thu, 01 Jan 1970 00:02:02 +0000
121 Date: Thu, 01 Jan 1970 00:02:02 +0000
122 From: quux
122 From: quux
123 To: foo
123 To: foo
124 Cc: bar
124 Cc: bar
125
125
126 # HG changeset patch
126 # HG changeset patch
127 # User test
127 # User test
128 # Date 2 0
128 # Date 2 0
129 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
129 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
130 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
130 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
131 b
131 b
132
132
133 diff -r 8580ff50825a -r 97d72e5f12c7 b
133 diff -r 8580ff50825a -r 97d72e5f12c7 b
134 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
134 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
135 +++ b/b Thu Jan 01 00:00:02 1970 +0000
135 +++ b/b Thu Jan 01 00:00:02 1970 +0000
136 @@ -0,0 +1,1 @@
136 @@ -0,0 +1,1 @@
137 +b
137 +b
138
138
139
139
140 .hg/last-email.txt
140 .hg/last-email.txt
141
141
142 $ cat > editor.sh << '__EOF__'
142 $ cat > editor.sh << '__EOF__'
143 > echo "a precious introductory message" > "$1"
143 > echo "a precious introductory message" > "$1"
144 > __EOF__
144 > __EOF__
145 $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg email -n -t foo -s test -r 0:tip > /dev/null
145 $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg email -n -t foo -s test -r 0:tip > /dev/null
146 $ cat .hg/last-email.txt
146 $ cat .hg/last-email.txt
147 a precious introductory message
147 a precious introductory message
148
148
149 $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \
149 $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \
150 > --config extensions.progress= --config progress.assume-tty=1 \
150 > --config extensions.progress= --config progress.assume-tty=1 \
151 > --config progress.delay=0 --config progress.refresh=0 \
151 > --config progress.delay=0 --config progress.refresh=0 \
152 > --config progress.width=60 2>&1 | \
152 > --config progress.width=60 2>&1 | \
153 > python "$TESTDIR/filtercr.py"
153 > python "$TESTDIR/filtercr.py"
154 This patch series consists of 2 patches.
154 this patch series consists of 2 patches.
155
155
156
156
157 Write the introductory message for the patch series.
157 Write the introductory message for the patch series.
158
158
159
159
160 sending [ ] 0/3
160 sending [ ] 0/3
161 sending [ ] 0/3
161 sending [ ] 0/3
162
162
163
163
164 sending [==============> ] 1/3
164 sending [==============> ] 1/3
165 sending [==============> ] 1/3
165 sending [==============> ] 1/3
166
166
167
167
168 sending [=============================> ] 2/3
168 sending [=============================> ] 2/3
169 sending [=============================> ] 2/3
169 sending [=============================> ] 2/3
170 \r (esc)
170 \r (esc)
171 Sending [PATCH 0 of 2] test ...
171 sending [PATCH 0 of 2] test ...
172 Sending [PATCH 1 of 2] a ...
172 sending [PATCH 1 of 2] a ...
173 Sending [PATCH 2 of 2] b ...
173 sending [PATCH 2 of 2] b ...
174
174
175
175
176 $ cd ..
176 $ cd ..
177
177
178 $ hg clone -q t t2
178 $ hg clone -q t t2
179 $ cd t2
179 $ cd t2
180 $ echo c > c
180 $ echo c > c
181 $ hg commit -Amc -d '3 0'
181 $ hg commit -Amc -d '3 0'
182 adding c
182 adding c
183
183
184 $ cat > description <<EOF
184 $ cat > description <<EOF
185 > a multiline
185 > a multiline
186 >
186 >
187 > description
187 > description
188 > EOF
188 > EOF
189
189
190
190
191 test bundle and description:
191 test bundle and description:
192 $ hg email --date '1970-1-1 0:3' -n -f quux -t foo \
192 $ hg email --date '1970-1-1 0:3' -n -f quux -t foo \
193 > -c bar -s test -r tip -b --desc description
193 > -c bar -s test -r tip -b --desc description
194 searching for changes
194 searching for changes
195 1 changesets found
195 1 changesets found
196
196
197 Displaying test ...
197 displaying test ...
198 Content-Type: multipart/mixed; boundary="===*" (glob)
198 Content-Type: multipart/mixed; boundary="===*" (glob)
199 MIME-Version: 1.0
199 MIME-Version: 1.0
200 Subject: test
200 Subject: test
201 Message-Id: <patchbomb.180@*> (glob)
201 Message-Id: <patchbomb.180@*> (glob)
202 User-Agent: Mercurial-patchbomb/* (glob)
202 User-Agent: Mercurial-patchbomb/* (glob)
203 Date: Thu, 01 Jan 1970 00:03:00 +0000
203 Date: Thu, 01 Jan 1970 00:03:00 +0000
204 From: quux
204 From: quux
205 To: foo
205 To: foo
206 Cc: bar
206 Cc: bar
207
207
208 --===* (glob)
208 --===* (glob)
209 Content-Type: text/plain; charset="us-ascii"
209 Content-Type: text/plain; charset="us-ascii"
210 MIME-Version: 1.0
210 MIME-Version: 1.0
211 Content-Transfer-Encoding: 7bit
211 Content-Transfer-Encoding: 7bit
212
212
213 a multiline
213 a multiline
214
214
215 description
215 description
216
216
217 --===* (glob)
217 --===* (glob)
218 Content-Type: application/x-mercurial-bundle
218 Content-Type: application/x-mercurial-bundle
219 MIME-Version: 1.0
219 MIME-Version: 1.0
220 Content-Disposition: attachment; filename="bundle.hg"
220 Content-Disposition: attachment; filename="bundle.hg"
221 Content-Transfer-Encoding: base64
221 Content-Transfer-Encoding: base64
222
222
223 SEcxMEJaaDkxQVkmU1nvR7I3AAAN////lFYQWj1/4HwRkdC/AywIAk0E4pfoSIIIgQCgGEQOcLAA
223 SEcxMEJaaDkxQVkmU1nvR7I3AAAN////lFYQWj1/4HwRkdC/AywIAk0E4pfoSIIIgQCgGEQOcLAA
224 2tA1VPyp4mkeoG0EaaPU0GTT1GjRiNPIg9CZGBqZ6UbU9J+KFU09DNUaGgAAAAAANAGgAAAAA1U8
224 2tA1VPyp4mkeoG0EaaPU0GTT1GjRiNPIg9CZGBqZ6UbU9J+KFU09DNUaGgAAAAAANAGgAAAAA1U8
225 oGgAADQGgAANNANAAAAAAZipFLz3XoakCEQB3PVPyHJVi1iYkAAKQAZQGpQGZESInRnCFMqLDla2
225 oGgAADQGgAANNANAAAAAAZipFLz3XoakCEQB3PVPyHJVi1iYkAAKQAZQGpQGZESInRnCFMqLDla2
226 Bx3qfRQeA2N4lnzKkAmP8kR2asievLLXXebVU8Vg4iEBqcJNJAxIapSU6SM4888ZAciRG6MYAIEE
226 Bx3qfRQeA2N4lnzKkAmP8kR2asievLLXXebVU8Vg4iEBqcJNJAxIapSU6SM4888ZAciRG6MYAIEE
227 SlIBpFisgGkyRjX//TMtfcUAEsGu56+YnE1OlTZmzKm8BSu2rvo4rHAYYaadIFFuTy0LYgIkgLVD
227 SlIBpFisgGkyRjX//TMtfcUAEsGu56+YnE1OlTZmzKm8BSu2rvo4rHAYYaadIFFuTy0LYgIkgLVD
228 sgVa2F19D1tx9+hgbAygLgQwaIqcDdgA4BjQgIiz/AEP72++llgDKhKducqodGE4B0ETqF3JFOFC
228 sgVa2F19D1tx9+hgbAygLgQwaIqcDdgA4BjQgIiz/AEP72++llgDKhKducqodGE4B0ETqF3JFOFC
229 Q70eyNw=
229 Q70eyNw=
230 --===*-- (glob)
230 --===*-- (glob)
231
231
232 utf-8 patch:
232 utf-8 patch:
233 $ python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();'
233 $ python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();'
234 $ hg commit -A -d '4 0' -m 'utf-8 content'
234 $ hg commit -A -d '4 0' -m 'utf-8 content'
235 adding description
235 adding description
236 adding utf
236 adding utf
237
237
238 no mime encoding for email --test:
238 no mime encoding for email --test:
239 $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n
239 $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n
240 This patch series consists of 1 patches.
240 this patch series consists of 1 patches.
241
241
242
242
243 Displaying [PATCH] utf-8 content ...
243 displaying [PATCH] utf-8 content ...
244 Content-Type: text/plain; charset="us-ascii"
244 Content-Type: text/plain; charset="us-ascii"
245 MIME-Version: 1.0
245 MIME-Version: 1.0
246 Content-Transfer-Encoding: 8bit
246 Content-Transfer-Encoding: 8bit
247 Subject: [PATCH] utf-8 content
247 Subject: [PATCH] utf-8 content
248 X-Mercurial-Node: 909a00e13e9d78b575aeee23dddbada46d5a143f
248 X-Mercurial-Node: 909a00e13e9d78b575aeee23dddbada46d5a143f
249 Message-Id: <909a00e13e9d78b575ae.240@*> (glob)
249 Message-Id: <909a00e13e9d78b575ae.240@*> (glob)
250 User-Agent: Mercurial-patchbomb/* (glob)
250 User-Agent: Mercurial-patchbomb/* (glob)
251 Date: Thu, 01 Jan 1970 00:04:00 +0000
251 Date: Thu, 01 Jan 1970 00:04:00 +0000
252 From: quux
252 From: quux
253 To: foo
253 To: foo
254 Cc: bar
254 Cc: bar
255
255
256 # HG changeset patch
256 # HG changeset patch
257 # User test
257 # User test
258 # Date 4 0
258 # Date 4 0
259 # Node ID 909a00e13e9d78b575aeee23dddbada46d5a143f
259 # Node ID 909a00e13e9d78b575aeee23dddbada46d5a143f
260 # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f
260 # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f
261 utf-8 content
261 utf-8 content
262
262
263 diff -r ff2c9fa2018b -r 909a00e13e9d description
263 diff -r ff2c9fa2018b -r 909a00e13e9d description
264 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
264 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
265 +++ b/description Thu Jan 01 00:00:04 1970 +0000
265 +++ b/description Thu Jan 01 00:00:04 1970 +0000
266 @@ -0,0 +1,3 @@
266 @@ -0,0 +1,3 @@
267 +a multiline
267 +a multiline
268 +
268 +
269 +description
269 +description
270 diff -r ff2c9fa2018b -r 909a00e13e9d utf
270 diff -r ff2c9fa2018b -r 909a00e13e9d utf
271 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
271 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
272 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
272 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
273 @@ -0,0 +1,1 @@
273 @@ -0,0 +1,1 @@
274 +h\xc3\xb6mma! (esc)
274 +h\xc3\xb6mma! (esc)
275
275
276
276
277 mime encoded mbox (base64):
277 mime encoded mbox (base64):
278 $ hg email --date '1970-1-1 0:4' -f 'Q <quux>' -t foo -c bar -r tip -m mbox
278 $ hg email --date '1970-1-1 0:4' -f 'Q <quux>' -t foo -c bar -r tip -m mbox
279 This patch series consists of 1 patches.
279 this patch series consists of 1 patches.
280
280
281
281
282 Sending [PATCH] utf-8 content ...
282 sending [PATCH] utf-8 content ...
283
283
284 $ cat mbox
284 $ cat mbox
285 From quux ... ... .. ..:..:.. .... (re)
285 From quux ... ... .. ..:..:.. .... (re)
286 Content-Type: text/plain; charset="utf-8"
286 Content-Type: text/plain; charset="utf-8"
287 MIME-Version: 1.0
287 MIME-Version: 1.0
288 Content-Transfer-Encoding: base64
288 Content-Transfer-Encoding: base64
289 Subject: [PATCH] utf-8 content
289 Subject: [PATCH] utf-8 content
290 X-Mercurial-Node: 909a00e13e9d78b575aeee23dddbada46d5a143f
290 X-Mercurial-Node: 909a00e13e9d78b575aeee23dddbada46d5a143f
291 Message-Id: <909a00e13e9d78b575ae.240@*> (glob)
291 Message-Id: <909a00e13e9d78b575ae.240@*> (glob)
292 User-Agent: Mercurial-patchbomb/* (glob)
292 User-Agent: Mercurial-patchbomb/* (glob)
293 Date: Thu, 01 Jan 1970 00:04:00 +0000
293 Date: Thu, 01 Jan 1970 00:04:00 +0000
294 From: Q <quux>
294 From: Q <quux>
295 To: foo
295 To: foo
296 Cc: bar
296 Cc: bar
297
297
298 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHRlc3QKIyBEYXRlIDQgMAojIE5vZGUgSUQgOTA5
298 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHRlc3QKIyBEYXRlIDQgMAojIE5vZGUgSUQgOTA5
299 YTAwZTEzZTlkNzhiNTc1YWVlZTIzZGRkYmFkYTQ2ZDVhMTQzZgojIFBhcmVudCAgZmYyYzlmYTIw
299 YTAwZTEzZTlkNzhiNTc1YWVlZTIzZGRkYmFkYTQ2ZDVhMTQzZgojIFBhcmVudCAgZmYyYzlmYTIw
300 MThiMTVmYTc0YjMzMzYzYmRhOTUyNzMyM2UyYTk5Zgp1dGYtOCBjb250ZW50CgpkaWZmIC1yIGZm
300 MThiMTVmYTc0YjMzMzYzYmRhOTUyNzMyM2UyYTk5Zgp1dGYtOCBjb250ZW50CgpkaWZmIC1yIGZm
301 MmM5ZmEyMDE4YiAtciA5MDlhMDBlMTNlOWQgZGVzY3JpcHRpb24KLS0tIC9kZXYvbnVsbAlUaHUg
301 MmM5ZmEyMDE4YiAtciA5MDlhMDBlMTNlOWQgZGVzY3JpcHRpb24KLS0tIC9kZXYvbnVsbAlUaHUg
302 SmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIvZGVzY3JpcHRpb24JVGh1IEphbiAwMSAw
302 SmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIvZGVzY3JpcHRpb24JVGh1IEphbiAwMSAw
303 MDowMDowNCAxOTcwICswMDAwCkBAIC0wLDAgKzEsMyBAQAorYSBtdWx0aWxpbmUKKworZGVzY3Jp
303 MDowMDowNCAxOTcwICswMDAwCkBAIC0wLDAgKzEsMyBAQAorYSBtdWx0aWxpbmUKKworZGVzY3Jp
304 cHRpb24KZGlmZiAtciBmZjJjOWZhMjAxOGIgLXIgOTA5YTAwZTEzZTlkIHV0ZgotLS0gL2Rldi9u
304 cHRpb24KZGlmZiAtciBmZjJjOWZhMjAxOGIgLXIgOTA5YTAwZTEzZTlkIHV0ZgotLS0gL2Rldi9u
305 dWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCArMDAwMAorKysgYi91dGYJVGh1IEphbiAwMSAw
305 dWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCArMDAwMAorKysgYi91dGYJVGh1IEphbiAwMSAw
306 MDowMDowNCAxOTcwICswMDAwCkBAIC0wLDAgKzEsMSBAQAoraMO2bW1hIQo=
306 MDowMDowNCAxOTcwICswMDAwCkBAIC0wLDAgKzEsMSBAQAoraMO2bW1hIQo=
307
307
308
308
309 $ python -c 'print open("mbox").read().split("\n\n")[1].decode("base64")'
309 $ python -c 'print open("mbox").read().split("\n\n")[1].decode("base64")'
310 # HG changeset patch
310 # HG changeset patch
311 # User test
311 # User test
312 # Date 4 0
312 # Date 4 0
313 # Node ID 909a00e13e9d78b575aeee23dddbada46d5a143f
313 # Node ID 909a00e13e9d78b575aeee23dddbada46d5a143f
314 # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f
314 # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f
315 utf-8 content
315 utf-8 content
316
316
317 diff -r ff2c9fa2018b -r 909a00e13e9d description
317 diff -r ff2c9fa2018b -r 909a00e13e9d description
318 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
318 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
319 +++ b/description Thu Jan 01 00:00:04 1970 +0000
319 +++ b/description Thu Jan 01 00:00:04 1970 +0000
320 @@ -0,0 +1,3 @@
320 @@ -0,0 +1,3 @@
321 +a multiline
321 +a multiline
322 +
322 +
323 +description
323 +description
324 diff -r ff2c9fa2018b -r 909a00e13e9d utf
324 diff -r ff2c9fa2018b -r 909a00e13e9d utf
325 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
325 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
326 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
326 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
327 @@ -0,0 +1,1 @@
327 @@ -0,0 +1,1 @@
328 +h\xc3\xb6mma! (esc)
328 +h\xc3\xb6mma! (esc)
329
329
330 $ rm mbox
330 $ rm mbox
331
331
332 mime encoded mbox (quoted-printable):
332 mime encoded mbox (quoted-printable):
333 $ python -c 'fp = open("long", "wb"); fp.write("%s\nfoo\n\nbar\n" % ("x" * 1024)); fp.close();'
333 $ python -c 'fp = open("long", "wb"); fp.write("%s\nfoo\n\nbar\n" % ("x" * 1024)); fp.close();'
334 $ hg commit -A -d '4 0' -m 'long line'
334 $ hg commit -A -d '4 0' -m 'long line'
335 adding long
335 adding long
336
336
337 no mime encoding for email --test:
337 no mime encoding for email --test:
338 $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n
338 $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n
339 This patch series consists of 1 patches.
339 this patch series consists of 1 patches.
340
340
341
341
342 Displaying [PATCH] long line ...
342 displaying [PATCH] long line ...
343 Content-Type: text/plain; charset="us-ascii"
343 Content-Type: text/plain; charset="us-ascii"
344 MIME-Version: 1.0
344 MIME-Version: 1.0
345 Content-Transfer-Encoding: quoted-printable
345 Content-Transfer-Encoding: quoted-printable
346 Subject: [PATCH] long line
346 Subject: [PATCH] long line
347 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
347 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
348 Message-Id: <a2ea8fc83dd8b93cfd86.240@*> (glob)
348 Message-Id: <a2ea8fc83dd8b93cfd86.240@*> (glob)
349 User-Agent: Mercurial-patchbomb/* (glob)
349 User-Agent: Mercurial-patchbomb/* (glob)
350 Date: Thu, 01 Jan 1970 00:04:00 +0000
350 Date: Thu, 01 Jan 1970 00:04:00 +0000
351 From: quux
351 From: quux
352 To: foo
352 To: foo
353 Cc: bar
353 Cc: bar
354
354
355 # HG changeset patch
355 # HG changeset patch
356 # User test
356 # User test
357 # Date 4 0
357 # Date 4 0
358 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
358 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
359 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
359 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
360 long line
360 long line
361
361
362 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
362 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
363 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
363 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
364 +++ b/long Thu Jan 01 00:00:04 1970 +0000
364 +++ b/long Thu Jan 01 00:00:04 1970 +0000
365 @@ -0,0 +1,4 @@
365 @@ -0,0 +1,4 @@
366 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
366 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
367 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
367 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
368 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
368 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
369 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
369 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
370 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
370 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
371 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
371 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
372 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
372 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
373 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
373 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
374 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
374 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
375 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
375 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
376 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
376 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
377 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
377 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
378 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
378 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
379 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
379 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
380 +foo
380 +foo
381 +
381 +
382 +bar
382 +bar
383
383
384
384
385 mime encoded mbox (quoted-printable):
385 mime encoded mbox (quoted-printable):
386 $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
386 $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
387 This patch series consists of 1 patches.
387 this patch series consists of 1 patches.
388
388
389
389
390 Sending [PATCH] long line ...
390 sending [PATCH] long line ...
391 $ cat mbox
391 $ cat mbox
392 From quux ... ... .. ..:..:.. .... (re)
392 From quux ... ... .. ..:..:.. .... (re)
393 Content-Type: text/plain; charset="us-ascii"
393 Content-Type: text/plain; charset="us-ascii"
394 MIME-Version: 1.0
394 MIME-Version: 1.0
395 Content-Transfer-Encoding: quoted-printable
395 Content-Transfer-Encoding: quoted-printable
396 Subject: [PATCH] long line
396 Subject: [PATCH] long line
397 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
397 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
398 Message-Id: <a2ea8fc83dd8b93cfd86.240@*> (glob)
398 Message-Id: <a2ea8fc83dd8b93cfd86.240@*> (glob)
399 User-Agent: Mercurial-patchbomb/* (glob)
399 User-Agent: Mercurial-patchbomb/* (glob)
400 Date: Thu, 01 Jan 1970 00:04:00 +0000
400 Date: Thu, 01 Jan 1970 00:04:00 +0000
401 From: quux
401 From: quux
402 To: foo
402 To: foo
403 Cc: bar
403 Cc: bar
404
404
405 # HG changeset patch
405 # HG changeset patch
406 # User test
406 # User test
407 # Date 4 0
407 # Date 4 0
408 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
408 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
409 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
409 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
410 long line
410 long line
411
411
412 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
412 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
413 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
413 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
414 +++ b/long Thu Jan 01 00:00:04 1970 +0000
414 +++ b/long Thu Jan 01 00:00:04 1970 +0000
415 @@ -0,0 +1,4 @@
415 @@ -0,0 +1,4 @@
416 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
416 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
417 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
417 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
418 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
418 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
419 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
419 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
420 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
420 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
421 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
421 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
422 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
422 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
423 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
423 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
424 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
424 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
425 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
425 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
426 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
426 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
427 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
427 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
428 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
428 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
429 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
429 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
430 +foo
430 +foo
431 +
431 +
432 +bar
432 +bar
433
433
434
434
435
435
436 $ rm mbox
436 $ rm mbox
437
437
438 iso-8859-1 patch:
438 iso-8859-1 patch:
439 $ python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();'
439 $ python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();'
440 $ hg commit -A -d '5 0' -m 'isolatin 8-bit encoding'
440 $ hg commit -A -d '5 0' -m 'isolatin 8-bit encoding'
441 adding isolatin
441 adding isolatin
442
442
443 fake ascii mbox:
443 fake ascii mbox:
444 $ hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox
444 $ hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox
445 This patch series consists of 1 patches.
445 this patch series consists of 1 patches.
446
446
447
447
448 Sending [PATCH] isolatin 8-bit encoding ...
448 sending [PATCH] isolatin 8-bit encoding ...
449 $ cat mbox
449 $ cat mbox
450 From quux ... ... .. ..:..:.. .... (re)
450 From quux ... ... .. ..:..:.. .... (re)
451 Content-Type: text/plain; charset="us-ascii"
451 Content-Type: text/plain; charset="us-ascii"
452 MIME-Version: 1.0
452 MIME-Version: 1.0
453 Content-Transfer-Encoding: 8bit
453 Content-Transfer-Encoding: 8bit
454 Subject: [PATCH] isolatin 8-bit encoding
454 Subject: [PATCH] isolatin 8-bit encoding
455 X-Mercurial-Node: 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
455 X-Mercurial-Node: 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
456 Message-Id: <240fb913fc1b7ff15ddb.300@*> (glob)
456 Message-Id: <240fb913fc1b7ff15ddb.300@*> (glob)
457 User-Agent: Mercurial-patchbomb/* (glob)
457 User-Agent: Mercurial-patchbomb/* (glob)
458 Date: Thu, 01 Jan 1970 00:05:00 +0000
458 Date: Thu, 01 Jan 1970 00:05:00 +0000
459 From: quux
459 From: quux
460 To: foo
460 To: foo
461 Cc: bar
461 Cc: bar
462
462
463 # HG changeset patch
463 # HG changeset patch
464 # User test
464 # User test
465 # Date 5 0
465 # Date 5 0
466 # Node ID 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
466 # Node ID 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
467 # Parent a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
467 # Parent a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
468 isolatin 8-bit encoding
468 isolatin 8-bit encoding
469
469
470 diff -r a2ea8fc83dd8 -r 240fb913fc1b isolatin
470 diff -r a2ea8fc83dd8 -r 240fb913fc1b isolatin
471 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
471 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
472 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
472 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
473 @@ -0,0 +1,1 @@
473 @@ -0,0 +1,1 @@
474 +h\xf6mma! (esc)
474 +h\xf6mma! (esc)
475
475
476
476
477
477
478 test diffstat for single patch:
478 test diffstat for single patch:
479 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y -r 2
479 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y -r 2
480 This patch series consists of 1 patches.
480 this patch series consists of 1 patches.
481
481
482
482
483 Final summary:
483 Final summary:
484
484
485 From: quux
485 From: quux
486 To: foo
486 To: foo
487 Cc: bar
487 Cc: bar
488 Subject: [PATCH] test
488 Subject: [PATCH] test
489 c | 1 +
489 c | 1 +
490 1 files changed, 1 insertions(+), 0 deletions(-)
490 1 files changed, 1 insertions(+), 0 deletions(-)
491
491
492 are you sure you want to send (yn)? y
492 are you sure you want to send (yn)? y
493
493
494 Displaying [PATCH] test ...
494 displaying [PATCH] test ...
495 Content-Type: text/plain; charset="us-ascii"
495 Content-Type: text/plain; charset="us-ascii"
496 MIME-Version: 1.0
496 MIME-Version: 1.0
497 Content-Transfer-Encoding: 7bit
497 Content-Transfer-Encoding: 7bit
498 Subject: [PATCH] test
498 Subject: [PATCH] test
499 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
499 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
500 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
500 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
501 User-Agent: Mercurial-patchbomb/* (glob)
501 User-Agent: Mercurial-patchbomb/* (glob)
502 Date: Thu, 01 Jan 1970 00:01:00 +0000
502 Date: Thu, 01 Jan 1970 00:01:00 +0000
503 From: quux
503 From: quux
504 To: foo
504 To: foo
505 Cc: bar
505 Cc: bar
506
506
507 c | 1 +
507 c | 1 +
508 1 files changed, 1 insertions(+), 0 deletions(-)
508 1 files changed, 1 insertions(+), 0 deletions(-)
509
509
510
510
511 # HG changeset patch
511 # HG changeset patch
512 # User test
512 # User test
513 # Date 3 0
513 # Date 3 0
514 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
514 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
515 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
515 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
516 c
516 c
517
517
518 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
518 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
519 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
519 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
520 +++ b/c Thu Jan 01 00:00:03 1970 +0000
520 +++ b/c Thu Jan 01 00:00:03 1970 +0000
521 @@ -0,0 +1,1 @@
521 @@ -0,0 +1,1 @@
522 +c
522 +c
523
523
524
524
525 test diffstat for multiple patches:
525 test diffstat for multiple patches:
526 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y \
526 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y \
527 > -r 0:1
527 > -r 0:1
528 This patch series consists of 2 patches.
528 this patch series consists of 2 patches.
529
529
530
530
531 Write the introductory message for the patch series.
531 Write the introductory message for the patch series.
532
532
533
533
534 Final summary:
534 Final summary:
535
535
536 From: quux
536 From: quux
537 To: foo
537 To: foo
538 Cc: bar
538 Cc: bar
539 Subject: [PATCH 0 of 2] test
539 Subject: [PATCH 0 of 2] test
540 a | 1 +
540 a | 1 +
541 b | 1 +
541 b | 1 +
542 2 files changed, 2 insertions(+), 0 deletions(-)
542 2 files changed, 2 insertions(+), 0 deletions(-)
543 Subject: [PATCH 1 of 2] a
543 Subject: [PATCH 1 of 2] a
544 a | 1 +
544 a | 1 +
545 1 files changed, 1 insertions(+), 0 deletions(-)
545 1 files changed, 1 insertions(+), 0 deletions(-)
546 Subject: [PATCH 2 of 2] b
546 Subject: [PATCH 2 of 2] b
547 b | 1 +
547 b | 1 +
548 1 files changed, 1 insertions(+), 0 deletions(-)
548 1 files changed, 1 insertions(+), 0 deletions(-)
549
549
550 are you sure you want to send (yn)? y
550 are you sure you want to send (yn)? y
551
551
552 Displaying [PATCH 0 of 2] test ...
552 displaying [PATCH 0 of 2] test ...
553 Content-Type: text/plain; charset="us-ascii"
553 Content-Type: text/plain; charset="us-ascii"
554 MIME-Version: 1.0
554 MIME-Version: 1.0
555 Content-Transfer-Encoding: 7bit
555 Content-Transfer-Encoding: 7bit
556 Subject: [PATCH 0 of 2] test
556 Subject: [PATCH 0 of 2] test
557 Message-Id: <patchbomb.60@*> (glob)
557 Message-Id: <patchbomb.60@*> (glob)
558 User-Agent: Mercurial-patchbomb/* (glob)
558 User-Agent: Mercurial-patchbomb/* (glob)
559 Date: Thu, 01 Jan 1970 00:01:00 +0000
559 Date: Thu, 01 Jan 1970 00:01:00 +0000
560 From: quux
560 From: quux
561 To: foo
561 To: foo
562 Cc: bar
562 Cc: bar
563
563
564
564
565 a | 1 +
565 a | 1 +
566 b | 1 +
566 b | 1 +
567 2 files changed, 2 insertions(+), 0 deletions(-)
567 2 files changed, 2 insertions(+), 0 deletions(-)
568
568
569 Displaying [PATCH 1 of 2] a ...
569 displaying [PATCH 1 of 2] a ...
570 Content-Type: text/plain; charset="us-ascii"
570 Content-Type: text/plain; charset="us-ascii"
571 MIME-Version: 1.0
571 MIME-Version: 1.0
572 Content-Transfer-Encoding: 7bit
572 Content-Transfer-Encoding: 7bit
573 Subject: [PATCH 1 of 2] a
573 Subject: [PATCH 1 of 2] a
574 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
574 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
575 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
575 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
576 In-Reply-To: <patchbomb.60@*> (glob)
576 In-Reply-To: <patchbomb.60@*> (glob)
577 References: <patchbomb.60@*> (glob)
577 References: <patchbomb.60@*> (glob)
578 User-Agent: Mercurial-patchbomb/* (glob)
578 User-Agent: Mercurial-patchbomb/* (glob)
579 Date: Thu, 01 Jan 1970 00:01:01 +0000
579 Date: Thu, 01 Jan 1970 00:01:01 +0000
580 From: quux
580 From: quux
581 To: foo
581 To: foo
582 Cc: bar
582 Cc: bar
583
583
584 a | 1 +
584 a | 1 +
585 1 files changed, 1 insertions(+), 0 deletions(-)
585 1 files changed, 1 insertions(+), 0 deletions(-)
586
586
587
587
588 # HG changeset patch
588 # HG changeset patch
589 # User test
589 # User test
590 # Date 1 0
590 # Date 1 0
591 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
591 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
592 # Parent 0000000000000000000000000000000000000000
592 # Parent 0000000000000000000000000000000000000000
593 a
593 a
594
594
595 diff -r 000000000000 -r 8580ff50825a a
595 diff -r 000000000000 -r 8580ff50825a a
596 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
596 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
597 +++ b/a Thu Jan 01 00:00:01 1970 +0000
597 +++ b/a Thu Jan 01 00:00:01 1970 +0000
598 @@ -0,0 +1,1 @@
598 @@ -0,0 +1,1 @@
599 +a
599 +a
600
600
601 Displaying [PATCH 2 of 2] b ...
601 displaying [PATCH 2 of 2] b ...
602 Content-Type: text/plain; charset="us-ascii"
602 Content-Type: text/plain; charset="us-ascii"
603 MIME-Version: 1.0
603 MIME-Version: 1.0
604 Content-Transfer-Encoding: 7bit
604 Content-Transfer-Encoding: 7bit
605 Subject: [PATCH 2 of 2] b
605 Subject: [PATCH 2 of 2] b
606 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
606 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
607 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
607 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
608 In-Reply-To: <patchbomb.60@*> (glob)
608 In-Reply-To: <patchbomb.60@*> (glob)
609 References: <patchbomb.60@*> (glob)
609 References: <patchbomb.60@*> (glob)
610 User-Agent: Mercurial-patchbomb/* (glob)
610 User-Agent: Mercurial-patchbomb/* (glob)
611 Date: Thu, 01 Jan 1970 00:01:02 +0000
611 Date: Thu, 01 Jan 1970 00:01:02 +0000
612 From: quux
612 From: quux
613 To: foo
613 To: foo
614 Cc: bar
614 Cc: bar
615
615
616 b | 1 +
616 b | 1 +
617 1 files changed, 1 insertions(+), 0 deletions(-)
617 1 files changed, 1 insertions(+), 0 deletions(-)
618
618
619
619
620 # HG changeset patch
620 # HG changeset patch
621 # User test
621 # User test
622 # Date 2 0
622 # Date 2 0
623 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
623 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
624 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
624 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
625 b
625 b
626
626
627 diff -r 8580ff50825a -r 97d72e5f12c7 b
627 diff -r 8580ff50825a -r 97d72e5f12c7 b
628 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
628 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
629 +++ b/b Thu Jan 01 00:00:02 1970 +0000
629 +++ b/b Thu Jan 01 00:00:02 1970 +0000
630 @@ -0,0 +1,1 @@
630 @@ -0,0 +1,1 @@
631 +b
631 +b
632
632
633
633
634 test inline for single patch:
634 test inline for single patch:
635 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2
635 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2
636 This patch series consists of 1 patches.
636 this patch series consists of 1 patches.
637
637
638
638
639 Displaying [PATCH] test ...
639 displaying [PATCH] test ...
640 Content-Type: multipart/mixed; boundary="===*" (glob)
640 Content-Type: multipart/mixed; boundary="===*" (glob)
641 MIME-Version: 1.0
641 MIME-Version: 1.0
642 Subject: [PATCH] test
642 Subject: [PATCH] test
643 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
643 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
644 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
644 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
645 User-Agent: Mercurial-patchbomb/* (glob)
645 User-Agent: Mercurial-patchbomb/* (glob)
646 Date: Thu, 01 Jan 1970 00:01:00 +0000
646 Date: Thu, 01 Jan 1970 00:01:00 +0000
647 From: quux
647 From: quux
648 To: foo
648 To: foo
649 Cc: bar
649 Cc: bar
650
650
651 --===* (glob)
651 --===* (glob)
652 Content-Type: text/x-patch; charset="us-ascii"
652 Content-Type: text/x-patch; charset="us-ascii"
653 MIME-Version: 1.0
653 MIME-Version: 1.0
654 Content-Transfer-Encoding: 7bit
654 Content-Transfer-Encoding: 7bit
655 Content-Disposition: inline; filename=t2.patch
655 Content-Disposition: inline; filename=t2.patch
656
656
657 # HG changeset patch
657 # HG changeset patch
658 # User test
658 # User test
659 # Date 3 0
659 # Date 3 0
660 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
660 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
661 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
661 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
662 c
662 c
663
663
664 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
664 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
665 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
665 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
666 +++ b/c Thu Jan 01 00:00:03 1970 +0000
666 +++ b/c Thu Jan 01 00:00:03 1970 +0000
667 @@ -0,0 +1,1 @@
667 @@ -0,0 +1,1 @@
668 +c
668 +c
669
669
670 --===*-- (glob)
670 --===*-- (glob)
671
671
672
672
673 test inline for single patch (quoted-printable):
673 test inline for single patch (quoted-printable):
674 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 4
674 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 4
675 This patch series consists of 1 patches.
675 this patch series consists of 1 patches.
676
676
677
677
678 Displaying [PATCH] test ...
678 displaying [PATCH] test ...
679 Content-Type: multipart/mixed; boundary="===*" (glob)
679 Content-Type: multipart/mixed; boundary="===*" (glob)
680 MIME-Version: 1.0
680 MIME-Version: 1.0
681 Subject: [PATCH] test
681 Subject: [PATCH] test
682 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
682 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
683 Message-Id: <a2ea8fc83dd8b93cfd86.60@*> (glob)
683 Message-Id: <a2ea8fc83dd8b93cfd86.60@*> (glob)
684 User-Agent: Mercurial-patchbomb/* (glob)
684 User-Agent: Mercurial-patchbomb/* (glob)
685 Date: Thu, 01 Jan 1970 00:01:00 +0000
685 Date: Thu, 01 Jan 1970 00:01:00 +0000
686 From: quux
686 From: quux
687 To: foo
687 To: foo
688 Cc: bar
688 Cc: bar
689
689
690 --===* (glob)
690 --===* (glob)
691 Content-Type: text/x-patch; charset="us-ascii"
691 Content-Type: text/x-patch; charset="us-ascii"
692 MIME-Version: 1.0
692 MIME-Version: 1.0
693 Content-Transfer-Encoding: quoted-printable
693 Content-Transfer-Encoding: quoted-printable
694 Content-Disposition: inline; filename=t2.patch
694 Content-Disposition: inline; filename=t2.patch
695
695
696 # HG changeset patch
696 # HG changeset patch
697 # User test
697 # User test
698 # Date 4 0
698 # Date 4 0
699 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
699 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
700 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
700 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
701 long line
701 long line
702
702
703 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
703 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
704 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
704 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
705 +++ b/long Thu Jan 01 00:00:04 1970 +0000
705 +++ b/long Thu Jan 01 00:00:04 1970 +0000
706 @@ -0,0 +1,4 @@
706 @@ -0,0 +1,4 @@
707 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
707 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
708 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
708 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
709 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
709 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
710 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
710 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
711 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
711 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
712 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
712 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
713 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
713 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
714 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
714 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
715 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
715 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
716 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
716 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
717 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
717 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
718 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
718 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
719 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
719 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
720 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
720 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
721 +foo
721 +foo
722 +
722 +
723 +bar
723 +bar
724
724
725 --===*-- (glob)
725 --===*-- (glob)
726
726
727 test inline for multiple patches:
727 test inline for multiple patches:
728 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \
728 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \
729 > -r 0:1 -r 4
729 > -r 0:1 -r 4
730 This patch series consists of 3 patches.
730 this patch series consists of 3 patches.
731
731
732
732
733 Write the introductory message for the patch series.
733 Write the introductory message for the patch series.
734
734
735
735
736 Displaying [PATCH 0 of 3] test ...
736 displaying [PATCH 0 of 3] test ...
737 Content-Type: text/plain; charset="us-ascii"
737 Content-Type: text/plain; charset="us-ascii"
738 MIME-Version: 1.0
738 MIME-Version: 1.0
739 Content-Transfer-Encoding: 7bit
739 Content-Transfer-Encoding: 7bit
740 Subject: [PATCH 0 of 3] test
740 Subject: [PATCH 0 of 3] test
741 Message-Id: <patchbomb.60@*> (glob)
741 Message-Id: <patchbomb.60@*> (glob)
742 User-Agent: Mercurial-patchbomb/* (glob)
742 User-Agent: Mercurial-patchbomb/* (glob)
743 Date: Thu, 01 Jan 1970 00:01:00 +0000
743 Date: Thu, 01 Jan 1970 00:01:00 +0000
744 From: quux
744 From: quux
745 To: foo
745 To: foo
746 Cc: bar
746 Cc: bar
747
747
748
748
749 Displaying [PATCH 1 of 3] a ...
749 displaying [PATCH 1 of 3] a ...
750 Content-Type: multipart/mixed; boundary="===*" (glob)
750 Content-Type: multipart/mixed; boundary="===*" (glob)
751 MIME-Version: 1.0
751 MIME-Version: 1.0
752 Subject: [PATCH 1 of 3] a
752 Subject: [PATCH 1 of 3] a
753 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
753 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
754 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
754 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
755 In-Reply-To: <patchbomb.60@*> (glob)
755 In-Reply-To: <patchbomb.60@*> (glob)
756 References: <patchbomb.60@*> (glob)
756 References: <patchbomb.60@*> (glob)
757 User-Agent: Mercurial-patchbomb/* (glob)
757 User-Agent: Mercurial-patchbomb/* (glob)
758 Date: Thu, 01 Jan 1970 00:01:01 +0000
758 Date: Thu, 01 Jan 1970 00:01:01 +0000
759 From: quux
759 From: quux
760 To: foo
760 To: foo
761 Cc: bar
761 Cc: bar
762
762
763 --===* (glob)
763 --===* (glob)
764 Content-Type: text/x-patch; charset="us-ascii"
764 Content-Type: text/x-patch; charset="us-ascii"
765 MIME-Version: 1.0
765 MIME-Version: 1.0
766 Content-Transfer-Encoding: 7bit
766 Content-Transfer-Encoding: 7bit
767 Content-Disposition: inline; filename=t2-1.patch
767 Content-Disposition: inline; filename=t2-1.patch
768
768
769 # HG changeset patch
769 # HG changeset patch
770 # User test
770 # User test
771 # Date 1 0
771 # Date 1 0
772 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
772 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
773 # Parent 0000000000000000000000000000000000000000
773 # Parent 0000000000000000000000000000000000000000
774 a
774 a
775
775
776 diff -r 000000000000 -r 8580ff50825a a
776 diff -r 000000000000 -r 8580ff50825a a
777 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
777 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
778 +++ b/a Thu Jan 01 00:00:01 1970 +0000
778 +++ b/a Thu Jan 01 00:00:01 1970 +0000
779 @@ -0,0 +1,1 @@
779 @@ -0,0 +1,1 @@
780 +a
780 +a
781
781
782 --===*-- (glob)
782 --===*-- (glob)
783 Displaying [PATCH 2 of 3] b ...
783 displaying [PATCH 2 of 3] b ...
784 Content-Type: multipart/mixed; boundary="===*" (glob)
784 Content-Type: multipart/mixed; boundary="===*" (glob)
785 MIME-Version: 1.0
785 MIME-Version: 1.0
786 Subject: [PATCH 2 of 3] b
786 Subject: [PATCH 2 of 3] b
787 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
787 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
788 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
788 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
789 In-Reply-To: <patchbomb.60@*> (glob)
789 In-Reply-To: <patchbomb.60@*> (glob)
790 References: <patchbomb.60@*> (glob)
790 References: <patchbomb.60@*> (glob)
791 User-Agent: Mercurial-patchbomb/* (glob)
791 User-Agent: Mercurial-patchbomb/* (glob)
792 Date: Thu, 01 Jan 1970 00:01:02 +0000
792 Date: Thu, 01 Jan 1970 00:01:02 +0000
793 From: quux
793 From: quux
794 To: foo
794 To: foo
795 Cc: bar
795 Cc: bar
796
796
797 --===* (glob)
797 --===* (glob)
798 Content-Type: text/x-patch; charset="us-ascii"
798 Content-Type: text/x-patch; charset="us-ascii"
799 MIME-Version: 1.0
799 MIME-Version: 1.0
800 Content-Transfer-Encoding: 7bit
800 Content-Transfer-Encoding: 7bit
801 Content-Disposition: inline; filename=t2-2.patch
801 Content-Disposition: inline; filename=t2-2.patch
802
802
803 # HG changeset patch
803 # HG changeset patch
804 # User test
804 # User test
805 # Date 2 0
805 # Date 2 0
806 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
806 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
807 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
807 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
808 b
808 b
809
809
810 diff -r 8580ff50825a -r 97d72e5f12c7 b
810 diff -r 8580ff50825a -r 97d72e5f12c7 b
811 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
811 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
812 +++ b/b Thu Jan 01 00:00:02 1970 +0000
812 +++ b/b Thu Jan 01 00:00:02 1970 +0000
813 @@ -0,0 +1,1 @@
813 @@ -0,0 +1,1 @@
814 +b
814 +b
815
815
816 --===*-- (glob)
816 --===*-- (glob)
817 Displaying [PATCH 3 of 3] long line ...
817 displaying [PATCH 3 of 3] long line ...
818 Content-Type: multipart/mixed; boundary="===*" (glob)
818 Content-Type: multipart/mixed; boundary="===*" (glob)
819 MIME-Version: 1.0
819 MIME-Version: 1.0
820 Subject: [PATCH 3 of 3] long line
820 Subject: [PATCH 3 of 3] long line
821 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
821 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
822 Message-Id: <a2ea8fc83dd8b93cfd86.63@*> (glob)
822 Message-Id: <a2ea8fc83dd8b93cfd86.63@*> (glob)
823 In-Reply-To: <patchbomb.60@*> (glob)
823 In-Reply-To: <patchbomb.60@*> (glob)
824 References: <patchbomb.60@*> (glob)
824 References: <patchbomb.60@*> (glob)
825 User-Agent: Mercurial-patchbomb/* (glob)
825 User-Agent: Mercurial-patchbomb/* (glob)
826 Date: Thu, 01 Jan 1970 00:01:03 +0000
826 Date: Thu, 01 Jan 1970 00:01:03 +0000
827 From: quux
827 From: quux
828 To: foo
828 To: foo
829 Cc: bar
829 Cc: bar
830
830
831 --===* (glob)
831 --===* (glob)
832 Content-Type: text/x-patch; charset="us-ascii"
832 Content-Type: text/x-patch; charset="us-ascii"
833 MIME-Version: 1.0
833 MIME-Version: 1.0
834 Content-Transfer-Encoding: quoted-printable
834 Content-Transfer-Encoding: quoted-printable
835 Content-Disposition: inline; filename=t2-3.patch
835 Content-Disposition: inline; filename=t2-3.patch
836
836
837 # HG changeset patch
837 # HG changeset patch
838 # User test
838 # User test
839 # Date 4 0
839 # Date 4 0
840 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
840 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
841 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
841 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
842 long line
842 long line
843
843
844 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
844 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
845 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
845 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
846 +++ b/long Thu Jan 01 00:00:04 1970 +0000
846 +++ b/long Thu Jan 01 00:00:04 1970 +0000
847 @@ -0,0 +1,4 @@
847 @@ -0,0 +1,4 @@
848 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
848 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
849 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
849 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
850 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
850 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
851 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
851 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
852 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
852 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
853 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
853 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
854 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
854 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
855 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
855 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
856 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
856 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
857 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
857 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
858 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
858 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
859 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
859 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
860 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
860 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
861 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
861 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
862 +foo
862 +foo
863 +
863 +
864 +bar
864 +bar
865
865
866 --===*-- (glob)
866 --===*-- (glob)
867
867
868 test attach for single patch:
868 test attach for single patch:
869 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 2
869 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 2
870 This patch series consists of 1 patches.
870 this patch series consists of 1 patches.
871
871
872
872
873 Displaying [PATCH] test ...
873 displaying [PATCH] test ...
874 Content-Type: multipart/mixed; boundary="===*" (glob)
874 Content-Type: multipart/mixed; boundary="===*" (glob)
875 MIME-Version: 1.0
875 MIME-Version: 1.0
876 Subject: [PATCH] test
876 Subject: [PATCH] test
877 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
877 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
878 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
878 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
879 User-Agent: Mercurial-patchbomb/* (glob)
879 User-Agent: Mercurial-patchbomb/* (glob)
880 Date: Thu, 01 Jan 1970 00:01:00 +0000
880 Date: Thu, 01 Jan 1970 00:01:00 +0000
881 From: quux
881 From: quux
882 To: foo
882 To: foo
883 Cc: bar
883 Cc: bar
884
884
885 --===* (glob)
885 --===* (glob)
886 Content-Type: text/plain; charset="us-ascii"
886 Content-Type: text/plain; charset="us-ascii"
887 MIME-Version: 1.0
887 MIME-Version: 1.0
888 Content-Transfer-Encoding: 7bit
888 Content-Transfer-Encoding: 7bit
889
889
890 Patch subject is complete summary.
890 Patch subject is complete summary.
891
891
892
892
893
893
894 --===* (glob)
894 --===* (glob)
895 Content-Type: text/x-patch; charset="us-ascii"
895 Content-Type: text/x-patch; charset="us-ascii"
896 MIME-Version: 1.0
896 MIME-Version: 1.0
897 Content-Transfer-Encoding: 7bit
897 Content-Transfer-Encoding: 7bit
898 Content-Disposition: attachment; filename=t2.patch
898 Content-Disposition: attachment; filename=t2.patch
899
899
900 # HG changeset patch
900 # HG changeset patch
901 # User test
901 # User test
902 # Date 3 0
902 # Date 3 0
903 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
903 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
904 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
904 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
905 c
905 c
906
906
907 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
907 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
908 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
908 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
909 +++ b/c Thu Jan 01 00:00:03 1970 +0000
909 +++ b/c Thu Jan 01 00:00:03 1970 +0000
910 @@ -0,0 +1,1 @@
910 @@ -0,0 +1,1 @@
911 +c
911 +c
912
912
913 --===*-- (glob)
913 --===*-- (glob)
914
914
915 test attach for single patch (quoted-printable):
915 test attach for single patch (quoted-printable):
916 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 4
916 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 4
917 This patch series consists of 1 patches.
917 this patch series consists of 1 patches.
918
918
919
919
920 Displaying [PATCH] test ...
920 displaying [PATCH] test ...
921 Content-Type: multipart/mixed; boundary="===*" (glob)
921 Content-Type: multipart/mixed; boundary="===*" (glob)
922 MIME-Version: 1.0
922 MIME-Version: 1.0
923 Subject: [PATCH] test
923 Subject: [PATCH] test
924 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
924 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
925 Message-Id: <a2ea8fc83dd8b93cfd86.60@*> (glob)
925 Message-Id: <a2ea8fc83dd8b93cfd86.60@*> (glob)
926 User-Agent: Mercurial-patchbomb/* (glob)
926 User-Agent: Mercurial-patchbomb/* (glob)
927 Date: Thu, 01 Jan 1970 00:01:00 +0000
927 Date: Thu, 01 Jan 1970 00:01:00 +0000
928 From: quux
928 From: quux
929 To: foo
929 To: foo
930 Cc: bar
930 Cc: bar
931
931
932 --===* (glob)
932 --===* (glob)
933 Content-Type: text/plain; charset="us-ascii"
933 Content-Type: text/plain; charset="us-ascii"
934 MIME-Version: 1.0
934 MIME-Version: 1.0
935 Content-Transfer-Encoding: 7bit
935 Content-Transfer-Encoding: 7bit
936
936
937 Patch subject is complete summary.
937 Patch subject is complete summary.
938
938
939
939
940
940
941 --===* (glob)
941 --===* (glob)
942 Content-Type: text/x-patch; charset="us-ascii"
942 Content-Type: text/x-patch; charset="us-ascii"
943 MIME-Version: 1.0
943 MIME-Version: 1.0
944 Content-Transfer-Encoding: quoted-printable
944 Content-Transfer-Encoding: quoted-printable
945 Content-Disposition: attachment; filename=t2.patch
945 Content-Disposition: attachment; filename=t2.patch
946
946
947 # HG changeset patch
947 # HG changeset patch
948 # User test
948 # User test
949 # Date 4 0
949 # Date 4 0
950 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
950 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
951 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
951 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
952 long line
952 long line
953
953
954 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
954 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
955 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
955 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
956 +++ b/long Thu Jan 01 00:00:04 1970 +0000
956 +++ b/long Thu Jan 01 00:00:04 1970 +0000
957 @@ -0,0 +1,4 @@
957 @@ -0,0 +1,4 @@
958 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
958 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
959 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
959 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
960 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
960 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
961 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
961 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
962 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
962 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
963 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
963 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
964 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
964 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
965 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
965 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
966 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
966 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
967 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
967 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
968 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
968 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
969 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
969 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
970 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
970 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
971 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
971 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
972 +foo
972 +foo
973 +
973 +
974 +bar
974 +bar
975
975
976 --===*-- (glob)
976 --===*-- (glob)
977
977
978 test attach and body for single patch:
978 test attach and body for single patch:
979 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a --body -r 2
979 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a --body -r 2
980 This patch series consists of 1 patches.
980 this patch series consists of 1 patches.
981
981
982
982
983 Displaying [PATCH] test ...
983 displaying [PATCH] test ...
984 Content-Type: multipart/mixed; boundary="===*" (glob)
984 Content-Type: multipart/mixed; boundary="===*" (glob)
985 MIME-Version: 1.0
985 MIME-Version: 1.0
986 Subject: [PATCH] test
986 Subject: [PATCH] test
987 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
987 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
988 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
988 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
989 User-Agent: Mercurial-patchbomb/* (glob)
989 User-Agent: Mercurial-patchbomb/* (glob)
990 Date: Thu, 01 Jan 1970 00:01:00 +0000
990 Date: Thu, 01 Jan 1970 00:01:00 +0000
991 From: quux
991 From: quux
992 To: foo
992 To: foo
993 Cc: bar
993 Cc: bar
994
994
995 --===* (glob)
995 --===* (glob)
996 Content-Type: text/plain; charset="us-ascii"
996 Content-Type: text/plain; charset="us-ascii"
997 MIME-Version: 1.0
997 MIME-Version: 1.0
998 Content-Transfer-Encoding: 7bit
998 Content-Transfer-Encoding: 7bit
999
999
1000 # HG changeset patch
1000 # HG changeset patch
1001 # User test
1001 # User test
1002 # Date 3 0
1002 # Date 3 0
1003 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1003 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1004 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1004 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1005 c
1005 c
1006
1006
1007 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1007 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1008 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1008 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1009 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1009 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1010 @@ -0,0 +1,1 @@
1010 @@ -0,0 +1,1 @@
1011 +c
1011 +c
1012
1012
1013 --===* (glob)
1013 --===* (glob)
1014 Content-Type: text/x-patch; charset="us-ascii"
1014 Content-Type: text/x-patch; charset="us-ascii"
1015 MIME-Version: 1.0
1015 MIME-Version: 1.0
1016 Content-Transfer-Encoding: 7bit
1016 Content-Transfer-Encoding: 7bit
1017 Content-Disposition: attachment; filename=t2.patch
1017 Content-Disposition: attachment; filename=t2.patch
1018
1018
1019 # HG changeset patch
1019 # HG changeset patch
1020 # User test
1020 # User test
1021 # Date 3 0
1021 # Date 3 0
1022 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1022 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1023 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1023 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1024 c
1024 c
1025
1025
1026 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1026 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1027 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1027 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1028 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1028 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1029 @@ -0,0 +1,1 @@
1029 @@ -0,0 +1,1 @@
1030 +c
1030 +c
1031
1031
1032 --===*-- (glob)
1032 --===*-- (glob)
1033
1033
1034 test attach for multiple patches:
1034 test attach for multiple patches:
1035 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a \
1035 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a \
1036 > -r 0:1 -r 4
1036 > -r 0:1 -r 4
1037 This patch series consists of 3 patches.
1037 this patch series consists of 3 patches.
1038
1038
1039
1039
1040 Write the introductory message for the patch series.
1040 Write the introductory message for the patch series.
1041
1041
1042
1042
1043 Displaying [PATCH 0 of 3] test ...
1043 displaying [PATCH 0 of 3] test ...
1044 Content-Type: text/plain; charset="us-ascii"
1044 Content-Type: text/plain; charset="us-ascii"
1045 MIME-Version: 1.0
1045 MIME-Version: 1.0
1046 Content-Transfer-Encoding: 7bit
1046 Content-Transfer-Encoding: 7bit
1047 Subject: [PATCH 0 of 3] test
1047 Subject: [PATCH 0 of 3] test
1048 Message-Id: <patchbomb.60@*> (glob)
1048 Message-Id: <patchbomb.60@*> (glob)
1049 User-Agent: Mercurial-patchbomb/* (glob)
1049 User-Agent: Mercurial-patchbomb/* (glob)
1050 Date: Thu, 01 Jan 1970 00:01:00 +0000
1050 Date: Thu, 01 Jan 1970 00:01:00 +0000
1051 From: quux
1051 From: quux
1052 To: foo
1052 To: foo
1053 Cc: bar
1053 Cc: bar
1054
1054
1055
1055
1056 Displaying [PATCH 1 of 3] a ...
1056 displaying [PATCH 1 of 3] a ...
1057 Content-Type: multipart/mixed; boundary="===*" (glob)
1057 Content-Type: multipart/mixed; boundary="===*" (glob)
1058 MIME-Version: 1.0
1058 MIME-Version: 1.0
1059 Subject: [PATCH 1 of 3] a
1059 Subject: [PATCH 1 of 3] a
1060 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1060 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1061 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1061 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1062 In-Reply-To: <patchbomb.60@*> (glob)
1062 In-Reply-To: <patchbomb.60@*> (glob)
1063 References: <patchbomb.60@*> (glob)
1063 References: <patchbomb.60@*> (glob)
1064 User-Agent: Mercurial-patchbomb/* (glob)
1064 User-Agent: Mercurial-patchbomb/* (glob)
1065 Date: Thu, 01 Jan 1970 00:01:01 +0000
1065 Date: Thu, 01 Jan 1970 00:01:01 +0000
1066 From: quux
1066 From: quux
1067 To: foo
1067 To: foo
1068 Cc: bar
1068 Cc: bar
1069
1069
1070 --===* (glob)
1070 --===* (glob)
1071 Content-Type: text/plain; charset="us-ascii"
1071 Content-Type: text/plain; charset="us-ascii"
1072 MIME-Version: 1.0
1072 MIME-Version: 1.0
1073 Content-Transfer-Encoding: 7bit
1073 Content-Transfer-Encoding: 7bit
1074
1074
1075 Patch subject is complete summary.
1075 Patch subject is complete summary.
1076
1076
1077
1077
1078
1078
1079 --===* (glob)
1079 --===* (glob)
1080 Content-Type: text/x-patch; charset="us-ascii"
1080 Content-Type: text/x-patch; charset="us-ascii"
1081 MIME-Version: 1.0
1081 MIME-Version: 1.0
1082 Content-Transfer-Encoding: 7bit
1082 Content-Transfer-Encoding: 7bit
1083 Content-Disposition: attachment; filename=t2-1.patch
1083 Content-Disposition: attachment; filename=t2-1.patch
1084
1084
1085 # HG changeset patch
1085 # HG changeset patch
1086 # User test
1086 # User test
1087 # Date 1 0
1087 # Date 1 0
1088 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1088 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1089 # Parent 0000000000000000000000000000000000000000
1089 # Parent 0000000000000000000000000000000000000000
1090 a
1090 a
1091
1091
1092 diff -r 000000000000 -r 8580ff50825a a
1092 diff -r 000000000000 -r 8580ff50825a a
1093 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1093 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1094 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1094 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1095 @@ -0,0 +1,1 @@
1095 @@ -0,0 +1,1 @@
1096 +a
1096 +a
1097
1097
1098 --===*-- (glob)
1098 --===*-- (glob)
1099 Displaying [PATCH 2 of 3] b ...
1099 displaying [PATCH 2 of 3] b ...
1100 Content-Type: multipart/mixed; boundary="===*" (glob)
1100 Content-Type: multipart/mixed; boundary="===*" (glob)
1101 MIME-Version: 1.0
1101 MIME-Version: 1.0
1102 Subject: [PATCH 2 of 3] b
1102 Subject: [PATCH 2 of 3] b
1103 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1103 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1104 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1104 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1105 In-Reply-To: <patchbomb.60@*> (glob)
1105 In-Reply-To: <patchbomb.60@*> (glob)
1106 References: <patchbomb.60@*> (glob)
1106 References: <patchbomb.60@*> (glob)
1107 User-Agent: Mercurial-patchbomb/* (glob)
1107 User-Agent: Mercurial-patchbomb/* (glob)
1108 Date: Thu, 01 Jan 1970 00:01:02 +0000
1108 Date: Thu, 01 Jan 1970 00:01:02 +0000
1109 From: quux
1109 From: quux
1110 To: foo
1110 To: foo
1111 Cc: bar
1111 Cc: bar
1112
1112
1113 --===* (glob)
1113 --===* (glob)
1114 Content-Type: text/plain; charset="us-ascii"
1114 Content-Type: text/plain; charset="us-ascii"
1115 MIME-Version: 1.0
1115 MIME-Version: 1.0
1116 Content-Transfer-Encoding: 7bit
1116 Content-Transfer-Encoding: 7bit
1117
1117
1118 Patch subject is complete summary.
1118 Patch subject is complete summary.
1119
1119
1120
1120
1121
1121
1122 --===* (glob)
1122 --===* (glob)
1123 Content-Type: text/x-patch; charset="us-ascii"
1123 Content-Type: text/x-patch; charset="us-ascii"
1124 MIME-Version: 1.0
1124 MIME-Version: 1.0
1125 Content-Transfer-Encoding: 7bit
1125 Content-Transfer-Encoding: 7bit
1126 Content-Disposition: attachment; filename=t2-2.patch
1126 Content-Disposition: attachment; filename=t2-2.patch
1127
1127
1128 # HG changeset patch
1128 # HG changeset patch
1129 # User test
1129 # User test
1130 # Date 2 0
1130 # Date 2 0
1131 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1131 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1132 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1132 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1133 b
1133 b
1134
1134
1135 diff -r 8580ff50825a -r 97d72e5f12c7 b
1135 diff -r 8580ff50825a -r 97d72e5f12c7 b
1136 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1136 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1137 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1137 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1138 @@ -0,0 +1,1 @@
1138 @@ -0,0 +1,1 @@
1139 +b
1139 +b
1140
1140
1141 --===*-- (glob)
1141 --===*-- (glob)
1142 Displaying [PATCH 3 of 3] long line ...
1142 displaying [PATCH 3 of 3] long line ...
1143 Content-Type: multipart/mixed; boundary="===*" (glob)
1143 Content-Type: multipart/mixed; boundary="===*" (glob)
1144 MIME-Version: 1.0
1144 MIME-Version: 1.0
1145 Subject: [PATCH 3 of 3] long line
1145 Subject: [PATCH 3 of 3] long line
1146 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
1146 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
1147 Message-Id: <a2ea8fc83dd8b93cfd86.63@*> (glob)
1147 Message-Id: <a2ea8fc83dd8b93cfd86.63@*> (glob)
1148 In-Reply-To: <patchbomb.60@*> (glob)
1148 In-Reply-To: <patchbomb.60@*> (glob)
1149 References: <patchbomb.60@*> (glob)
1149 References: <patchbomb.60@*> (glob)
1150 User-Agent: Mercurial-patchbomb/* (glob)
1150 User-Agent: Mercurial-patchbomb/* (glob)
1151 Date: Thu, 01 Jan 1970 00:01:03 +0000
1151 Date: Thu, 01 Jan 1970 00:01:03 +0000
1152 From: quux
1152 From: quux
1153 To: foo
1153 To: foo
1154 Cc: bar
1154 Cc: bar
1155
1155
1156 --===* (glob)
1156 --===* (glob)
1157 Content-Type: text/plain; charset="us-ascii"
1157 Content-Type: text/plain; charset="us-ascii"
1158 MIME-Version: 1.0
1158 MIME-Version: 1.0
1159 Content-Transfer-Encoding: 7bit
1159 Content-Transfer-Encoding: 7bit
1160
1160
1161 Patch subject is complete summary.
1161 Patch subject is complete summary.
1162
1162
1163
1163
1164
1164
1165 --===* (glob)
1165 --===* (glob)
1166 Content-Type: text/x-patch; charset="us-ascii"
1166 Content-Type: text/x-patch; charset="us-ascii"
1167 MIME-Version: 1.0
1167 MIME-Version: 1.0
1168 Content-Transfer-Encoding: quoted-printable
1168 Content-Transfer-Encoding: quoted-printable
1169 Content-Disposition: attachment; filename=t2-3.patch
1169 Content-Disposition: attachment; filename=t2-3.patch
1170
1170
1171 # HG changeset patch
1171 # HG changeset patch
1172 # User test
1172 # User test
1173 # Date 4 0
1173 # Date 4 0
1174 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
1174 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
1175 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
1175 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
1176 long line
1176 long line
1177
1177
1178 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
1178 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
1179 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1179 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1180 +++ b/long Thu Jan 01 00:00:04 1970 +0000
1180 +++ b/long Thu Jan 01 00:00:04 1970 +0000
1181 @@ -0,0 +1,4 @@
1181 @@ -0,0 +1,4 @@
1182 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1182 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1183 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1183 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1184 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1184 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1185 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1185 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1186 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1186 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1187 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1187 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1188 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1188 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1189 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1189 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1190 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1190 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1191 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1191 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1192 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1192 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1193 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1193 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1194 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1194 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
1195 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1195 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1196 +foo
1196 +foo
1197 +
1197 +
1198 +bar
1198 +bar
1199
1199
1200 --===*-- (glob)
1200 --===*-- (glob)
1201
1201
1202 test intro for single patch:
1202 test intro for single patch:
1203 $ hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
1203 $ hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
1204 > -r 2
1204 > -r 2
1205 This patch series consists of 1 patches.
1205 this patch series consists of 1 patches.
1206
1206
1207
1207
1208 Write the introductory message for the patch series.
1208 Write the introductory message for the patch series.
1209
1209
1210
1210
1211 Displaying [PATCH 0 of 1] test ...
1211 displaying [PATCH 0 of 1] test ...
1212 Content-Type: text/plain; charset="us-ascii"
1212 Content-Type: text/plain; charset="us-ascii"
1213 MIME-Version: 1.0
1213 MIME-Version: 1.0
1214 Content-Transfer-Encoding: 7bit
1214 Content-Transfer-Encoding: 7bit
1215 Subject: [PATCH 0 of 1] test
1215 Subject: [PATCH 0 of 1] test
1216 Message-Id: <patchbomb.60@*> (glob)
1216 Message-Id: <patchbomb.60@*> (glob)
1217 User-Agent: Mercurial-patchbomb/* (glob)
1217 User-Agent: Mercurial-patchbomb/* (glob)
1218 Date: Thu, 01 Jan 1970 00:01:00 +0000
1218 Date: Thu, 01 Jan 1970 00:01:00 +0000
1219 From: quux
1219 From: quux
1220 To: foo
1220 To: foo
1221 Cc: bar
1221 Cc: bar
1222
1222
1223
1223
1224 Displaying [PATCH 1 of 1] c ...
1224 displaying [PATCH 1 of 1] c ...
1225 Content-Type: text/plain; charset="us-ascii"
1225 Content-Type: text/plain; charset="us-ascii"
1226 MIME-Version: 1.0
1226 MIME-Version: 1.0
1227 Content-Transfer-Encoding: 7bit
1227 Content-Transfer-Encoding: 7bit
1228 Subject: [PATCH 1 of 1] c
1228 Subject: [PATCH 1 of 1] c
1229 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1229 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1230 Message-Id: <ff2c9fa2018b15fa74b3.61@*> (glob)
1230 Message-Id: <ff2c9fa2018b15fa74b3.61@*> (glob)
1231 In-Reply-To: <patchbomb.60@*> (glob)
1231 In-Reply-To: <patchbomb.60@*> (glob)
1232 References: <patchbomb.60@*> (glob)
1232 References: <patchbomb.60@*> (glob)
1233 User-Agent: Mercurial-patchbomb/* (glob)
1233 User-Agent: Mercurial-patchbomb/* (glob)
1234 Date: Thu, 01 Jan 1970 00:01:01 +0000
1234 Date: Thu, 01 Jan 1970 00:01:01 +0000
1235 From: quux
1235 From: quux
1236 To: foo
1236 To: foo
1237 Cc: bar
1237 Cc: bar
1238
1238
1239 # HG changeset patch
1239 # HG changeset patch
1240 # User test
1240 # User test
1241 # Date 3 0
1241 # Date 3 0
1242 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1242 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1243 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1243 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1244 c
1244 c
1245
1245
1246 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1246 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1247 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1247 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1248 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1248 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1249 @@ -0,0 +1,1 @@
1249 @@ -0,0 +1,1 @@
1250 +c
1250 +c
1251
1251
1252
1252
1253 test --desc without --intro for a single patch:
1253 test --desc without --intro for a single patch:
1254 $ echo foo > intro.text
1254 $ echo foo > intro.text
1255 $ hg email --date '1970-1-1 0:1' -n --desc intro.text -f quux -t foo -c bar \
1255 $ hg email --date '1970-1-1 0:1' -n --desc intro.text -f quux -t foo -c bar \
1256 > -s test -r 2
1256 > -s test -r 2
1257 This patch series consists of 1 patches.
1257 this patch series consists of 1 patches.
1258
1258
1259
1259
1260 Displaying [PATCH 0 of 1] test ...
1260 displaying [PATCH 0 of 1] test ...
1261 Content-Type: text/plain; charset="us-ascii"
1261 Content-Type: text/plain; charset="us-ascii"
1262 MIME-Version: 1.0
1262 MIME-Version: 1.0
1263 Content-Transfer-Encoding: 7bit
1263 Content-Transfer-Encoding: 7bit
1264 Subject: [PATCH 0 of 1] test
1264 Subject: [PATCH 0 of 1] test
1265 Message-Id: <patchbomb.60@*> (glob)
1265 Message-Id: <patchbomb.60@*> (glob)
1266 User-Agent: Mercurial-patchbomb/* (glob)
1266 User-Agent: Mercurial-patchbomb/* (glob)
1267 Date: Thu, 01 Jan 1970 00:01:00 +0000
1267 Date: Thu, 01 Jan 1970 00:01:00 +0000
1268 From: quux
1268 From: quux
1269 To: foo
1269 To: foo
1270 Cc: bar
1270 Cc: bar
1271
1271
1272 foo
1272 foo
1273
1273
1274 Displaying [PATCH 1 of 1] c ...
1274 displaying [PATCH 1 of 1] c ...
1275 Content-Type: text/plain; charset="us-ascii"
1275 Content-Type: text/plain; charset="us-ascii"
1276 MIME-Version: 1.0
1276 MIME-Version: 1.0
1277 Content-Transfer-Encoding: 7bit
1277 Content-Transfer-Encoding: 7bit
1278 Subject: [PATCH 1 of 1] c
1278 Subject: [PATCH 1 of 1] c
1279 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1279 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1280 Message-Id: <ff2c9fa2018b15fa74b3.61@*> (glob)
1280 Message-Id: <ff2c9fa2018b15fa74b3.61@*> (glob)
1281 In-Reply-To: <patchbomb.60@*> (glob)
1281 In-Reply-To: <patchbomb.60@*> (glob)
1282 References: <patchbomb.60@*> (glob)
1282 References: <patchbomb.60@*> (glob)
1283 User-Agent: Mercurial-patchbomb/* (glob)
1283 User-Agent: Mercurial-patchbomb/* (glob)
1284 Date: Thu, 01 Jan 1970 00:01:01 +0000
1284 Date: Thu, 01 Jan 1970 00:01:01 +0000
1285 From: quux
1285 From: quux
1286 To: foo
1286 To: foo
1287 Cc: bar
1287 Cc: bar
1288
1288
1289 # HG changeset patch
1289 # HG changeset patch
1290 # User test
1290 # User test
1291 # Date 3 0
1291 # Date 3 0
1292 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1292 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1293 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1293 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1294 c
1294 c
1295
1295
1296 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1296 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1297 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1297 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1298 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1298 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1299 @@ -0,0 +1,1 @@
1299 @@ -0,0 +1,1 @@
1300 +c
1300 +c
1301
1301
1302
1302
1303 test intro for multiple patches:
1303 test intro for multiple patches:
1304 $ hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
1304 $ hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \
1305 > -r 0:1
1305 > -r 0:1
1306 This patch series consists of 2 patches.
1306 this patch series consists of 2 patches.
1307
1307
1308
1308
1309 Write the introductory message for the patch series.
1309 Write the introductory message for the patch series.
1310
1310
1311
1311
1312 Displaying [PATCH 0 of 2] test ...
1312 displaying [PATCH 0 of 2] test ...
1313 Content-Type: text/plain; charset="us-ascii"
1313 Content-Type: text/plain; charset="us-ascii"
1314 MIME-Version: 1.0
1314 MIME-Version: 1.0
1315 Content-Transfer-Encoding: 7bit
1315 Content-Transfer-Encoding: 7bit
1316 Subject: [PATCH 0 of 2] test
1316 Subject: [PATCH 0 of 2] test
1317 Message-Id: <patchbomb.60@*> (glob)
1317 Message-Id: <patchbomb.60@*> (glob)
1318 User-Agent: Mercurial-patchbomb/* (glob)
1318 User-Agent: Mercurial-patchbomb/* (glob)
1319 Date: Thu, 01 Jan 1970 00:01:00 +0000
1319 Date: Thu, 01 Jan 1970 00:01:00 +0000
1320 From: quux
1320 From: quux
1321 To: foo
1321 To: foo
1322 Cc: bar
1322 Cc: bar
1323
1323
1324
1324
1325 Displaying [PATCH 1 of 2] a ...
1325 displaying [PATCH 1 of 2] a ...
1326 Content-Type: text/plain; charset="us-ascii"
1326 Content-Type: text/plain; charset="us-ascii"
1327 MIME-Version: 1.0
1327 MIME-Version: 1.0
1328 Content-Transfer-Encoding: 7bit
1328 Content-Transfer-Encoding: 7bit
1329 Subject: [PATCH 1 of 2] a
1329 Subject: [PATCH 1 of 2] a
1330 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1330 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1331 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1331 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1332 In-Reply-To: <patchbomb.60@*> (glob)
1332 In-Reply-To: <patchbomb.60@*> (glob)
1333 References: <patchbomb.60@*> (glob)
1333 References: <patchbomb.60@*> (glob)
1334 User-Agent: Mercurial-patchbomb/* (glob)
1334 User-Agent: Mercurial-patchbomb/* (glob)
1335 Date: Thu, 01 Jan 1970 00:01:01 +0000
1335 Date: Thu, 01 Jan 1970 00:01:01 +0000
1336 From: quux
1336 From: quux
1337 To: foo
1337 To: foo
1338 Cc: bar
1338 Cc: bar
1339
1339
1340 # HG changeset patch
1340 # HG changeset patch
1341 # User test
1341 # User test
1342 # Date 1 0
1342 # Date 1 0
1343 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1343 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1344 # Parent 0000000000000000000000000000000000000000
1344 # Parent 0000000000000000000000000000000000000000
1345 a
1345 a
1346
1346
1347 diff -r 000000000000 -r 8580ff50825a a
1347 diff -r 000000000000 -r 8580ff50825a a
1348 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1348 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1349 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1349 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1350 @@ -0,0 +1,1 @@
1350 @@ -0,0 +1,1 @@
1351 +a
1351 +a
1352
1352
1353 Displaying [PATCH 2 of 2] b ...
1353 displaying [PATCH 2 of 2] b ...
1354 Content-Type: text/plain; charset="us-ascii"
1354 Content-Type: text/plain; charset="us-ascii"
1355 MIME-Version: 1.0
1355 MIME-Version: 1.0
1356 Content-Transfer-Encoding: 7bit
1356 Content-Transfer-Encoding: 7bit
1357 Subject: [PATCH 2 of 2] b
1357 Subject: [PATCH 2 of 2] b
1358 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1358 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1359 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1359 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1360 In-Reply-To: <patchbomb.60@*> (glob)
1360 In-Reply-To: <patchbomb.60@*> (glob)
1361 References: <patchbomb.60@*> (glob)
1361 References: <patchbomb.60@*> (glob)
1362 User-Agent: Mercurial-patchbomb/* (glob)
1362 User-Agent: Mercurial-patchbomb/* (glob)
1363 Date: Thu, 01 Jan 1970 00:01:02 +0000
1363 Date: Thu, 01 Jan 1970 00:01:02 +0000
1364 From: quux
1364 From: quux
1365 To: foo
1365 To: foo
1366 Cc: bar
1366 Cc: bar
1367
1367
1368 # HG changeset patch
1368 # HG changeset patch
1369 # User test
1369 # User test
1370 # Date 2 0
1370 # Date 2 0
1371 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1371 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1372 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1372 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1373 b
1373 b
1374
1374
1375 diff -r 8580ff50825a -r 97d72e5f12c7 b
1375 diff -r 8580ff50825a -r 97d72e5f12c7 b
1376 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1376 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1377 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1377 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1378 @@ -0,0 +1,1 @@
1378 @@ -0,0 +1,1 @@
1379 +b
1379 +b
1380
1380
1381
1381
1382 test reply-to via config:
1382 test reply-to via config:
1383 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
1383 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
1384 > --config patchbomb.reply-to='baz@example.com'
1384 > --config patchbomb.reply-to='baz@example.com'
1385 This patch series consists of 1 patches.
1385 this patch series consists of 1 patches.
1386
1386
1387
1387
1388 Displaying [PATCH] test ...
1388 displaying [PATCH] test ...
1389 Content-Type: text/plain; charset="us-ascii"
1389 Content-Type: text/plain; charset="us-ascii"
1390 MIME-Version: 1.0
1390 MIME-Version: 1.0
1391 Content-Transfer-Encoding: 7bit
1391 Content-Transfer-Encoding: 7bit
1392 Subject: [PATCH] test
1392 Subject: [PATCH] test
1393 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1393 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1394 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1394 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1395 User-Agent: Mercurial-patchbomb/* (glob)
1395 User-Agent: Mercurial-patchbomb/* (glob)
1396 Date: Thu, 01 Jan 1970 00:01:00 +0000
1396 Date: Thu, 01 Jan 1970 00:01:00 +0000
1397 From: quux
1397 From: quux
1398 To: foo
1398 To: foo
1399 Cc: bar
1399 Cc: bar
1400 Reply-To: baz@example.com
1400 Reply-To: baz@example.com
1401
1401
1402 # HG changeset patch
1402 # HG changeset patch
1403 # User test
1403 # User test
1404 # Date 3 0
1404 # Date 3 0
1405 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1405 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1406 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1406 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1407 c
1407 c
1408
1408
1409 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1409 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1410 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1410 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1411 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1411 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1412 @@ -0,0 +1,1 @@
1412 @@ -0,0 +1,1 @@
1413 +c
1413 +c
1414
1414
1415
1415
1416 test reply-to via command line:
1416 test reply-to via command line:
1417 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
1417 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
1418 > --reply-to baz --reply-to fred
1418 > --reply-to baz --reply-to fred
1419 This patch series consists of 1 patches.
1419 this patch series consists of 1 patches.
1420
1420
1421
1421
1422 Displaying [PATCH] test ...
1422 displaying [PATCH] test ...
1423 Content-Type: text/plain; charset="us-ascii"
1423 Content-Type: text/plain; charset="us-ascii"
1424 MIME-Version: 1.0
1424 MIME-Version: 1.0
1425 Content-Transfer-Encoding: 7bit
1425 Content-Transfer-Encoding: 7bit
1426 Subject: [PATCH] test
1426 Subject: [PATCH] test
1427 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1427 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1428 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1428 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1429 User-Agent: Mercurial-patchbomb/* (glob)
1429 User-Agent: Mercurial-patchbomb/* (glob)
1430 Date: Thu, 01 Jan 1970 00:01:00 +0000
1430 Date: Thu, 01 Jan 1970 00:01:00 +0000
1431 From: quux
1431 From: quux
1432 To: foo
1432 To: foo
1433 Cc: bar
1433 Cc: bar
1434 Reply-To: baz, fred
1434 Reply-To: baz, fred
1435
1435
1436 # HG changeset patch
1436 # HG changeset patch
1437 # User test
1437 # User test
1438 # Date 3 0
1438 # Date 3 0
1439 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1439 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1440 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1440 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1441 c
1441 c
1442
1442
1443 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1443 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1444 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1444 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1445 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1445 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1446 @@ -0,0 +1,1 @@
1446 @@ -0,0 +1,1 @@
1447 +c
1447 +c
1448
1448
1449
1449
1450 tagging csets:
1450 tagging csets:
1451 $ hg tag -r0 zero zero.foo
1451 $ hg tag -r0 zero zero.foo
1452 $ hg tag -r1 one one.patch
1452 $ hg tag -r1 one one.patch
1453 $ hg tag -r2 two two.diff
1453 $ hg tag -r2 two two.diff
1454
1454
1455 test inline for single named patch:
1455 test inline for single named patch:
1456 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2
1456 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2
1457 This patch series consists of 1 patches.
1457 this patch series consists of 1 patches.
1458
1458
1459
1459
1460 Displaying [PATCH] test ...
1460 displaying [PATCH] test ...
1461 Content-Type: multipart/mixed; boundary="===*" (glob)
1461 Content-Type: multipart/mixed; boundary="===*" (glob)
1462 MIME-Version: 1.0
1462 MIME-Version: 1.0
1463 Subject: [PATCH] test
1463 Subject: [PATCH] test
1464 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1464 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1465 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1465 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1466 User-Agent: Mercurial-patchbomb/* (glob)
1466 User-Agent: Mercurial-patchbomb/* (glob)
1467 Date: Thu, 01 Jan 1970 00:01:00 +0000
1467 Date: Thu, 01 Jan 1970 00:01:00 +0000
1468 From: quux
1468 From: quux
1469 To: foo
1469 To: foo
1470 Cc: bar
1470 Cc: bar
1471
1471
1472 --===* (glob)
1472 --===* (glob)
1473 Content-Type: text/x-patch; charset="us-ascii"
1473 Content-Type: text/x-patch; charset="us-ascii"
1474 MIME-Version: 1.0
1474 MIME-Version: 1.0
1475 Content-Transfer-Encoding: 7bit
1475 Content-Transfer-Encoding: 7bit
1476 Content-Disposition: inline; filename=two.diff
1476 Content-Disposition: inline; filename=two.diff
1477
1477
1478 # HG changeset patch
1478 # HG changeset patch
1479 # User test
1479 # User test
1480 # Date 3 0
1480 # Date 3 0
1481 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1481 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1482 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1482 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1483 c
1483 c
1484
1484
1485 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1485 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1486 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1486 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1487 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1487 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1488 @@ -0,0 +1,1 @@
1488 @@ -0,0 +1,1 @@
1489 +c
1489 +c
1490
1490
1491 --===*-- (glob)
1491 --===*-- (glob)
1492
1492
1493 test inline for multiple named/unnamed patches:
1493 test inline for multiple named/unnamed patches:
1494 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 0:1
1494 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 0:1
1495 This patch series consists of 2 patches.
1495 this patch series consists of 2 patches.
1496
1496
1497
1497
1498 Write the introductory message for the patch series.
1498 Write the introductory message for the patch series.
1499
1499
1500
1500
1501 Displaying [PATCH 0 of 2] test ...
1501 displaying [PATCH 0 of 2] test ...
1502 Content-Type: text/plain; charset="us-ascii"
1502 Content-Type: text/plain; charset="us-ascii"
1503 MIME-Version: 1.0
1503 MIME-Version: 1.0
1504 Content-Transfer-Encoding: 7bit
1504 Content-Transfer-Encoding: 7bit
1505 Subject: [PATCH 0 of 2] test
1505 Subject: [PATCH 0 of 2] test
1506 Message-Id: <patchbomb.60@*> (glob)
1506 Message-Id: <patchbomb.60@*> (glob)
1507 User-Agent: Mercurial-patchbomb/* (glob)
1507 User-Agent: Mercurial-patchbomb/* (glob)
1508 Date: Thu, 01 Jan 1970 00:01:00 +0000
1508 Date: Thu, 01 Jan 1970 00:01:00 +0000
1509 From: quux
1509 From: quux
1510 To: foo
1510 To: foo
1511 Cc: bar
1511 Cc: bar
1512
1512
1513
1513
1514 Displaying [PATCH 1 of 2] a ...
1514 displaying [PATCH 1 of 2] a ...
1515 Content-Type: multipart/mixed; boundary="===*" (glob)
1515 Content-Type: multipart/mixed; boundary="===*" (glob)
1516 MIME-Version: 1.0
1516 MIME-Version: 1.0
1517 Subject: [PATCH 1 of 2] a
1517 Subject: [PATCH 1 of 2] a
1518 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1518 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1519 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1519 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1520 In-Reply-To: <patchbomb.60@*> (glob)
1520 In-Reply-To: <patchbomb.60@*> (glob)
1521 References: <patchbomb.60@*> (glob)
1521 References: <patchbomb.60@*> (glob)
1522 User-Agent: Mercurial-patchbomb/* (glob)
1522 User-Agent: Mercurial-patchbomb/* (glob)
1523 Date: Thu, 01 Jan 1970 00:01:01 +0000
1523 Date: Thu, 01 Jan 1970 00:01:01 +0000
1524 From: quux
1524 From: quux
1525 To: foo
1525 To: foo
1526 Cc: bar
1526 Cc: bar
1527
1527
1528 --===* (glob)
1528 --===* (glob)
1529 Content-Type: text/x-patch; charset="us-ascii"
1529 Content-Type: text/x-patch; charset="us-ascii"
1530 MIME-Version: 1.0
1530 MIME-Version: 1.0
1531 Content-Transfer-Encoding: 7bit
1531 Content-Transfer-Encoding: 7bit
1532 Content-Disposition: inline; filename=t2-1.patch
1532 Content-Disposition: inline; filename=t2-1.patch
1533
1533
1534 # HG changeset patch
1534 # HG changeset patch
1535 # User test
1535 # User test
1536 # Date 1 0
1536 # Date 1 0
1537 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1537 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1538 # Parent 0000000000000000000000000000000000000000
1538 # Parent 0000000000000000000000000000000000000000
1539 a
1539 a
1540
1540
1541 diff -r 000000000000 -r 8580ff50825a a
1541 diff -r 000000000000 -r 8580ff50825a a
1542 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1542 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1543 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1543 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1544 @@ -0,0 +1,1 @@
1544 @@ -0,0 +1,1 @@
1545 +a
1545 +a
1546
1546
1547 --===*-- (glob)
1547 --===*-- (glob)
1548 Displaying [PATCH 2 of 2] b ...
1548 displaying [PATCH 2 of 2] b ...
1549 Content-Type: multipart/mixed; boundary="===*" (glob)
1549 Content-Type: multipart/mixed; boundary="===*" (glob)
1550 MIME-Version: 1.0
1550 MIME-Version: 1.0
1551 Subject: [PATCH 2 of 2] b
1551 Subject: [PATCH 2 of 2] b
1552 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1552 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1553 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1553 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1554 In-Reply-To: <patchbomb.60@*> (glob)
1554 In-Reply-To: <patchbomb.60@*> (glob)
1555 References: <patchbomb.60@*> (glob)
1555 References: <patchbomb.60@*> (glob)
1556 User-Agent: Mercurial-patchbomb/* (glob)
1556 User-Agent: Mercurial-patchbomb/* (glob)
1557 Date: Thu, 01 Jan 1970 00:01:02 +0000
1557 Date: Thu, 01 Jan 1970 00:01:02 +0000
1558 From: quux
1558 From: quux
1559 To: foo
1559 To: foo
1560 Cc: bar
1560 Cc: bar
1561
1561
1562 --===* (glob)
1562 --===* (glob)
1563 Content-Type: text/x-patch; charset="us-ascii"
1563 Content-Type: text/x-patch; charset="us-ascii"
1564 MIME-Version: 1.0
1564 MIME-Version: 1.0
1565 Content-Transfer-Encoding: 7bit
1565 Content-Transfer-Encoding: 7bit
1566 Content-Disposition: inline; filename=one.patch
1566 Content-Disposition: inline; filename=one.patch
1567
1567
1568 # HG changeset patch
1568 # HG changeset patch
1569 # User test
1569 # User test
1570 # Date 2 0
1570 # Date 2 0
1571 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1571 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1572 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1572 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1573 b
1573 b
1574
1574
1575 diff -r 8580ff50825a -r 97d72e5f12c7 b
1575 diff -r 8580ff50825a -r 97d72e5f12c7 b
1576 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1576 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1577 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1577 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1578 @@ -0,0 +1,1 @@
1578 @@ -0,0 +1,1 @@
1579 +b
1579 +b
1580
1580
1581 --===*-- (glob)
1581 --===*-- (glob)
1582
1582
1583
1583
1584 test inreplyto:
1584 test inreplyto:
1585 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
1585 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
1586 > -r tip
1586 > -r tip
1587 This patch series consists of 1 patches.
1587 this patch series consists of 1 patches.
1588
1588
1589
1589
1590 Displaying [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b ...
1590 displaying [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b ...
1591 Content-Type: text/plain; charset="us-ascii"
1591 Content-Type: text/plain; charset="us-ascii"
1592 MIME-Version: 1.0
1592 MIME-Version: 1.0
1593 Content-Transfer-Encoding: 7bit
1593 Content-Transfer-Encoding: 7bit
1594 Subject: [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b
1594 Subject: [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b
1595 X-Mercurial-Node: 7aead2484924c445ad8ce2613df91f52f9e502ed
1595 X-Mercurial-Node: 7aead2484924c445ad8ce2613df91f52f9e502ed
1596 Message-Id: <7aead2484924c445ad8c.60@*> (glob)
1596 Message-Id: <7aead2484924c445ad8c.60@*> (glob)
1597 In-Reply-To: <baz>
1597 In-Reply-To: <baz>
1598 References: <baz>
1598 References: <baz>
1599 User-Agent: Mercurial-patchbomb/* (glob)
1599 User-Agent: Mercurial-patchbomb/* (glob)
1600 Date: Thu, 01 Jan 1970 00:01:00 +0000
1600 Date: Thu, 01 Jan 1970 00:01:00 +0000
1601 From: quux
1601 From: quux
1602 To: foo
1602 To: foo
1603 Cc: bar
1603 Cc: bar
1604
1604
1605 # HG changeset patch
1605 # HG changeset patch
1606 # User test
1606 # User test
1607 # Date 0 0
1607 # Date 0 0
1608 # Node ID 7aead2484924c445ad8ce2613df91f52f9e502ed
1608 # Node ID 7aead2484924c445ad8ce2613df91f52f9e502ed
1609 # Parent 045ca29b1ea20e4940411e695e20e521f2f0f98e
1609 # Parent 045ca29b1ea20e4940411e695e20e521f2f0f98e
1610 Added tag two, two.diff for changeset ff2c9fa2018b
1610 Added tag two, two.diff for changeset ff2c9fa2018b
1611
1611
1612 diff -r 045ca29b1ea2 -r 7aead2484924 .hgtags
1612 diff -r 045ca29b1ea2 -r 7aead2484924 .hgtags
1613 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1613 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
1614 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1614 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
1615 @@ -2,3 +2,5 @@
1615 @@ -2,3 +2,5 @@
1616 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1616 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
1617 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
1617 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
1618 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
1618 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
1619 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two
1619 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two
1620 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff
1620 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff
1621
1621
1622 no intro message in non-interactive mode
1622 no intro message in non-interactive mode
1623 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
1623 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
1624 > -r 0:1
1624 > -r 0:1
1625 This patch series consists of 2 patches.
1625 this patch series consists of 2 patches.
1626
1626
1627 (optional) Subject: [PATCH 0 of 2]
1627 (optional) Subject: [PATCH 0 of 2]
1628
1628
1629 Displaying [PATCH 1 of 2] a ...
1629 displaying [PATCH 1 of 2] a ...
1630 Content-Type: text/plain; charset="us-ascii"
1630 Content-Type: text/plain; charset="us-ascii"
1631 MIME-Version: 1.0
1631 MIME-Version: 1.0
1632 Content-Transfer-Encoding: 7bit
1632 Content-Transfer-Encoding: 7bit
1633 Subject: [PATCH 1 of 2] a
1633 Subject: [PATCH 1 of 2] a
1634 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1634 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1635 Message-Id: <8580ff50825a50c8f716.60@*> (glob)
1635 Message-Id: <8580ff50825a50c8f716.60@*> (glob)
1636 In-Reply-To: <baz>
1636 In-Reply-To: <baz>
1637 References: <baz>
1637 References: <baz>
1638 User-Agent: Mercurial-patchbomb/* (glob)
1638 User-Agent: Mercurial-patchbomb/* (glob)
1639 Date: Thu, 01 Jan 1970 00:01:00 +0000
1639 Date: Thu, 01 Jan 1970 00:01:00 +0000
1640 From: quux
1640 From: quux
1641 To: foo
1641 To: foo
1642 Cc: bar
1642 Cc: bar
1643
1643
1644 # HG changeset patch
1644 # HG changeset patch
1645 # User test
1645 # User test
1646 # Date 1 0
1646 # Date 1 0
1647 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1647 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1648 # Parent 0000000000000000000000000000000000000000
1648 # Parent 0000000000000000000000000000000000000000
1649 a
1649 a
1650
1650
1651 diff -r 000000000000 -r 8580ff50825a a
1651 diff -r 000000000000 -r 8580ff50825a a
1652 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1652 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1653 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1653 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1654 @@ -0,0 +1,1 @@
1654 @@ -0,0 +1,1 @@
1655 +a
1655 +a
1656
1656
1657 Displaying [PATCH 2 of 2] b ...
1657 displaying [PATCH 2 of 2] b ...
1658 Content-Type: text/plain; charset="us-ascii"
1658 Content-Type: text/plain; charset="us-ascii"
1659 MIME-Version: 1.0
1659 MIME-Version: 1.0
1660 Content-Transfer-Encoding: 7bit
1660 Content-Transfer-Encoding: 7bit
1661 Subject: [PATCH 2 of 2] b
1661 Subject: [PATCH 2 of 2] b
1662 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1662 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1663 Message-Id: <97d72e5f12c7e84f8506.61@*> (glob)
1663 Message-Id: <97d72e5f12c7e84f8506.61@*> (glob)
1664 In-Reply-To: <8580ff50825a50c8f716.60@*> (glob)
1664 In-Reply-To: <8580ff50825a50c8f716.60@*> (glob)
1665 References: <8580ff50825a50c8f716.60@*> (glob)
1665 References: <8580ff50825a50c8f716.60@*> (glob)
1666 User-Agent: Mercurial-patchbomb/* (glob)
1666 User-Agent: Mercurial-patchbomb/* (glob)
1667 Date: Thu, 01 Jan 1970 00:01:01 +0000
1667 Date: Thu, 01 Jan 1970 00:01:01 +0000
1668 From: quux
1668 From: quux
1669 To: foo
1669 To: foo
1670 Cc: bar
1670 Cc: bar
1671
1671
1672 # HG changeset patch
1672 # HG changeset patch
1673 # User test
1673 # User test
1674 # Date 2 0
1674 # Date 2 0
1675 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1675 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1676 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1676 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1677 b
1677 b
1678
1678
1679 diff -r 8580ff50825a -r 97d72e5f12c7 b
1679 diff -r 8580ff50825a -r 97d72e5f12c7 b
1680 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1680 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1681 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1681 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1682 @@ -0,0 +1,1 @@
1682 @@ -0,0 +1,1 @@
1683 +b
1683 +b
1684
1684
1685
1685
1686
1686
1687
1687
1688 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
1688 $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
1689 > -s test -r 0:1
1689 > -s test -r 0:1
1690 This patch series consists of 2 patches.
1690 this patch series consists of 2 patches.
1691
1691
1692
1692
1693 Write the introductory message for the patch series.
1693 Write the introductory message for the patch series.
1694
1694
1695
1695
1696 Displaying [PATCH 0 of 2] test ...
1696 displaying [PATCH 0 of 2] test ...
1697 Content-Type: text/plain; charset="us-ascii"
1697 Content-Type: text/plain; charset="us-ascii"
1698 MIME-Version: 1.0
1698 MIME-Version: 1.0
1699 Content-Transfer-Encoding: 7bit
1699 Content-Transfer-Encoding: 7bit
1700 Subject: [PATCH 0 of 2] test
1700 Subject: [PATCH 0 of 2] test
1701 Message-Id: <patchbomb.60@*> (glob)
1701 Message-Id: <patchbomb.60@*> (glob)
1702 In-Reply-To: <baz>
1702 In-Reply-To: <baz>
1703 References: <baz>
1703 References: <baz>
1704 User-Agent: Mercurial-patchbomb/* (glob)
1704 User-Agent: Mercurial-patchbomb/* (glob)
1705 Date: Thu, 01 Jan 1970 00:01:00 +0000
1705 Date: Thu, 01 Jan 1970 00:01:00 +0000
1706 From: quux
1706 From: quux
1707 To: foo
1707 To: foo
1708 Cc: bar
1708 Cc: bar
1709
1709
1710
1710
1711 Displaying [PATCH 1 of 2] a ...
1711 displaying [PATCH 1 of 2] a ...
1712 Content-Type: text/plain; charset="us-ascii"
1712 Content-Type: text/plain; charset="us-ascii"
1713 MIME-Version: 1.0
1713 MIME-Version: 1.0
1714 Content-Transfer-Encoding: 7bit
1714 Content-Transfer-Encoding: 7bit
1715 Subject: [PATCH 1 of 2] a
1715 Subject: [PATCH 1 of 2] a
1716 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1716 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1717 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1717 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1718 In-Reply-To: <patchbomb.60@*> (glob)
1718 In-Reply-To: <patchbomb.60@*> (glob)
1719 References: <patchbomb.60@*> (glob)
1719 References: <patchbomb.60@*> (glob)
1720 User-Agent: Mercurial-patchbomb/* (glob)
1720 User-Agent: Mercurial-patchbomb/* (glob)
1721 Date: Thu, 01 Jan 1970 00:01:01 +0000
1721 Date: Thu, 01 Jan 1970 00:01:01 +0000
1722 From: quux
1722 From: quux
1723 To: foo
1723 To: foo
1724 Cc: bar
1724 Cc: bar
1725
1725
1726 # HG changeset patch
1726 # HG changeset patch
1727 # User test
1727 # User test
1728 # Date 1 0
1728 # Date 1 0
1729 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1729 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1730 # Parent 0000000000000000000000000000000000000000
1730 # Parent 0000000000000000000000000000000000000000
1731 a
1731 a
1732
1732
1733 diff -r 000000000000 -r 8580ff50825a a
1733 diff -r 000000000000 -r 8580ff50825a a
1734 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1734 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1735 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1735 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1736 @@ -0,0 +1,1 @@
1736 @@ -0,0 +1,1 @@
1737 +a
1737 +a
1738
1738
1739 Displaying [PATCH 2 of 2] b ...
1739 displaying [PATCH 2 of 2] b ...
1740 Content-Type: text/plain; charset="us-ascii"
1740 Content-Type: text/plain; charset="us-ascii"
1741 MIME-Version: 1.0
1741 MIME-Version: 1.0
1742 Content-Transfer-Encoding: 7bit
1742 Content-Transfer-Encoding: 7bit
1743 Subject: [PATCH 2 of 2] b
1743 Subject: [PATCH 2 of 2] b
1744 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1744 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1745 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1745 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1746 In-Reply-To: <patchbomb.60@*> (glob)
1746 In-Reply-To: <patchbomb.60@*> (glob)
1747 References: <patchbomb.60@*> (glob)
1747 References: <patchbomb.60@*> (glob)
1748 User-Agent: Mercurial-patchbomb/* (glob)
1748 User-Agent: Mercurial-patchbomb/* (glob)
1749 Date: Thu, 01 Jan 1970 00:01:02 +0000
1749 Date: Thu, 01 Jan 1970 00:01:02 +0000
1750 From: quux
1750 From: quux
1751 To: foo
1751 To: foo
1752 Cc: bar
1752 Cc: bar
1753
1753
1754 # HG changeset patch
1754 # HG changeset patch
1755 # User test
1755 # User test
1756 # Date 2 0
1756 # Date 2 0
1757 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1757 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1758 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1758 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1759 b
1759 b
1760
1760
1761 diff -r 8580ff50825a -r 97d72e5f12c7 b
1761 diff -r 8580ff50825a -r 97d72e5f12c7 b
1762 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1762 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1763 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1763 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1764 @@ -0,0 +1,1 @@
1764 @@ -0,0 +1,1 @@
1765 +b
1765 +b
1766
1766
1767
1767
1768 test single flag for single patch:
1768 test single flag for single patch:
1769 $ hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
1769 $ hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
1770 > -r 2
1770 > -r 2
1771 This patch series consists of 1 patches.
1771 this patch series consists of 1 patches.
1772
1772
1773
1773
1774 Displaying [PATCH fooFlag] test ...
1774 displaying [PATCH fooFlag] test ...
1775 Content-Type: text/plain; charset="us-ascii"
1775 Content-Type: text/plain; charset="us-ascii"
1776 MIME-Version: 1.0
1776 MIME-Version: 1.0
1777 Content-Transfer-Encoding: 7bit
1777 Content-Transfer-Encoding: 7bit
1778 Subject: [PATCH fooFlag] test
1778 Subject: [PATCH fooFlag] test
1779 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1779 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1780 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1780 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1781 User-Agent: Mercurial-patchbomb/* (glob)
1781 User-Agent: Mercurial-patchbomb/* (glob)
1782 Date: Thu, 01 Jan 1970 00:01:00 +0000
1782 Date: Thu, 01 Jan 1970 00:01:00 +0000
1783 From: quux
1783 From: quux
1784 To: foo
1784 To: foo
1785 Cc: bar
1785 Cc: bar
1786
1786
1787 # HG changeset patch
1787 # HG changeset patch
1788 # User test
1788 # User test
1789 # Date 3 0
1789 # Date 3 0
1790 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1790 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1791 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1791 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1792 c
1792 c
1793
1793
1794 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1794 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1795 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1795 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1796 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1796 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1797 @@ -0,0 +1,1 @@
1797 @@ -0,0 +1,1 @@
1798 +c
1798 +c
1799
1799
1800
1800
1801 test single flag for multiple patches:
1801 test single flag for multiple patches:
1802 $ hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
1802 $ hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
1803 > -r 0:1
1803 > -r 0:1
1804 This patch series consists of 2 patches.
1804 this patch series consists of 2 patches.
1805
1805
1806
1806
1807 Write the introductory message for the patch series.
1807 Write the introductory message for the patch series.
1808
1808
1809
1809
1810 Displaying [PATCH 0 of 2 fooFlag] test ...
1810 displaying [PATCH 0 of 2 fooFlag] test ...
1811 Content-Type: text/plain; charset="us-ascii"
1811 Content-Type: text/plain; charset="us-ascii"
1812 MIME-Version: 1.0
1812 MIME-Version: 1.0
1813 Content-Transfer-Encoding: 7bit
1813 Content-Transfer-Encoding: 7bit
1814 Subject: [PATCH 0 of 2 fooFlag] test
1814 Subject: [PATCH 0 of 2 fooFlag] test
1815 Message-Id: <patchbomb.60@*> (glob)
1815 Message-Id: <patchbomb.60@*> (glob)
1816 User-Agent: Mercurial-patchbomb/* (glob)
1816 User-Agent: Mercurial-patchbomb/* (glob)
1817 Date: Thu, 01 Jan 1970 00:01:00 +0000
1817 Date: Thu, 01 Jan 1970 00:01:00 +0000
1818 From: quux
1818 From: quux
1819 To: foo
1819 To: foo
1820 Cc: bar
1820 Cc: bar
1821
1821
1822
1822
1823 Displaying [PATCH 1 of 2 fooFlag] a ...
1823 displaying [PATCH 1 of 2 fooFlag] a ...
1824 Content-Type: text/plain; charset="us-ascii"
1824 Content-Type: text/plain; charset="us-ascii"
1825 MIME-Version: 1.0
1825 MIME-Version: 1.0
1826 Content-Transfer-Encoding: 7bit
1826 Content-Transfer-Encoding: 7bit
1827 Subject: [PATCH 1 of 2 fooFlag] a
1827 Subject: [PATCH 1 of 2 fooFlag] a
1828 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1828 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1829 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1829 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1830 In-Reply-To: <patchbomb.60@*> (glob)
1830 In-Reply-To: <patchbomb.60@*> (glob)
1831 References: <patchbomb.60@*> (glob)
1831 References: <patchbomb.60@*> (glob)
1832 User-Agent: Mercurial-patchbomb/* (glob)
1832 User-Agent: Mercurial-patchbomb/* (glob)
1833 Date: Thu, 01 Jan 1970 00:01:01 +0000
1833 Date: Thu, 01 Jan 1970 00:01:01 +0000
1834 From: quux
1834 From: quux
1835 To: foo
1835 To: foo
1836 Cc: bar
1836 Cc: bar
1837
1837
1838 # HG changeset patch
1838 # HG changeset patch
1839 # User test
1839 # User test
1840 # Date 1 0
1840 # Date 1 0
1841 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1841 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1842 # Parent 0000000000000000000000000000000000000000
1842 # Parent 0000000000000000000000000000000000000000
1843 a
1843 a
1844
1844
1845 diff -r 000000000000 -r 8580ff50825a a
1845 diff -r 000000000000 -r 8580ff50825a a
1846 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1846 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1847 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1847 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1848 @@ -0,0 +1,1 @@
1848 @@ -0,0 +1,1 @@
1849 +a
1849 +a
1850
1850
1851 Displaying [PATCH 2 of 2 fooFlag] b ...
1851 displaying [PATCH 2 of 2 fooFlag] b ...
1852 Content-Type: text/plain; charset="us-ascii"
1852 Content-Type: text/plain; charset="us-ascii"
1853 MIME-Version: 1.0
1853 MIME-Version: 1.0
1854 Content-Transfer-Encoding: 7bit
1854 Content-Transfer-Encoding: 7bit
1855 Subject: [PATCH 2 of 2 fooFlag] b
1855 Subject: [PATCH 2 of 2 fooFlag] b
1856 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1856 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1857 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1857 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1858 In-Reply-To: <patchbomb.60@*> (glob)
1858 In-Reply-To: <patchbomb.60@*> (glob)
1859 References: <patchbomb.60@*> (glob)
1859 References: <patchbomb.60@*> (glob)
1860 User-Agent: Mercurial-patchbomb/* (glob)
1860 User-Agent: Mercurial-patchbomb/* (glob)
1861 Date: Thu, 01 Jan 1970 00:01:02 +0000
1861 Date: Thu, 01 Jan 1970 00:01:02 +0000
1862 From: quux
1862 From: quux
1863 To: foo
1863 To: foo
1864 Cc: bar
1864 Cc: bar
1865
1865
1866 # HG changeset patch
1866 # HG changeset patch
1867 # User test
1867 # User test
1868 # Date 2 0
1868 # Date 2 0
1869 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1869 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1870 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1870 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1871 b
1871 b
1872
1872
1873 diff -r 8580ff50825a -r 97d72e5f12c7 b
1873 diff -r 8580ff50825a -r 97d72e5f12c7 b
1874 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1874 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1875 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1875 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1876 @@ -0,0 +1,1 @@
1876 @@ -0,0 +1,1 @@
1877 +b
1877 +b
1878
1878
1879
1879
1880 test mutiple flags for single patch:
1880 test mutiple flags for single patch:
1881 $ hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
1881 $ hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
1882 > -c bar -s test -r 2
1882 > -c bar -s test -r 2
1883 This patch series consists of 1 patches.
1883 this patch series consists of 1 patches.
1884
1884
1885
1885
1886 Displaying [PATCH fooFlag barFlag] test ...
1886 displaying [PATCH fooFlag barFlag] test ...
1887 Content-Type: text/plain; charset="us-ascii"
1887 Content-Type: text/plain; charset="us-ascii"
1888 MIME-Version: 1.0
1888 MIME-Version: 1.0
1889 Content-Transfer-Encoding: 7bit
1889 Content-Transfer-Encoding: 7bit
1890 Subject: [PATCH fooFlag barFlag] test
1890 Subject: [PATCH fooFlag barFlag] test
1891 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1891 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
1892 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1892 Message-Id: <ff2c9fa2018b15fa74b3.60@*> (glob)
1893 User-Agent: Mercurial-patchbomb/* (glob)
1893 User-Agent: Mercurial-patchbomb/* (glob)
1894 Date: Thu, 01 Jan 1970 00:01:00 +0000
1894 Date: Thu, 01 Jan 1970 00:01:00 +0000
1895 From: quux
1895 From: quux
1896 To: foo
1896 To: foo
1897 Cc: bar
1897 Cc: bar
1898
1898
1899 # HG changeset patch
1899 # HG changeset patch
1900 # User test
1900 # User test
1901 # Date 3 0
1901 # Date 3 0
1902 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1902 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
1903 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1903 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1904 c
1904 c
1905
1905
1906 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1906 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
1907 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1907 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1908 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1908 +++ b/c Thu Jan 01 00:00:03 1970 +0000
1909 @@ -0,0 +1,1 @@
1909 @@ -0,0 +1,1 @@
1910 +c
1910 +c
1911
1911
1912
1912
1913 test multiple flags for multiple patches:
1913 test multiple flags for multiple patches:
1914 $ hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
1914 $ hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
1915 > -c bar -s test -r 0:1
1915 > -c bar -s test -r 0:1
1916 This patch series consists of 2 patches.
1916 this patch series consists of 2 patches.
1917
1917
1918
1918
1919 Write the introductory message for the patch series.
1919 Write the introductory message for the patch series.
1920
1920
1921
1921
1922 Displaying [PATCH 0 of 2 fooFlag barFlag] test ...
1922 displaying [PATCH 0 of 2 fooFlag barFlag] test ...
1923 Content-Type: text/plain; charset="us-ascii"
1923 Content-Type: text/plain; charset="us-ascii"
1924 MIME-Version: 1.0
1924 MIME-Version: 1.0
1925 Content-Transfer-Encoding: 7bit
1925 Content-Transfer-Encoding: 7bit
1926 Subject: [PATCH 0 of 2 fooFlag barFlag] test
1926 Subject: [PATCH 0 of 2 fooFlag barFlag] test
1927 Message-Id: <patchbomb.60@*> (glob)
1927 Message-Id: <patchbomb.60@*> (glob)
1928 User-Agent: Mercurial-patchbomb/* (glob)
1928 User-Agent: Mercurial-patchbomb/* (glob)
1929 Date: Thu, 01 Jan 1970 00:01:00 +0000
1929 Date: Thu, 01 Jan 1970 00:01:00 +0000
1930 From: quux
1930 From: quux
1931 To: foo
1931 To: foo
1932 Cc: bar
1932 Cc: bar
1933
1933
1934
1934
1935 Displaying [PATCH 1 of 2 fooFlag barFlag] a ...
1935 displaying [PATCH 1 of 2 fooFlag barFlag] a ...
1936 Content-Type: text/plain; charset="us-ascii"
1936 Content-Type: text/plain; charset="us-ascii"
1937 MIME-Version: 1.0
1937 MIME-Version: 1.0
1938 Content-Transfer-Encoding: 7bit
1938 Content-Transfer-Encoding: 7bit
1939 Subject: [PATCH 1 of 2 fooFlag barFlag] a
1939 Subject: [PATCH 1 of 2 fooFlag barFlag] a
1940 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1940 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
1941 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1941 Message-Id: <8580ff50825a50c8f716.61@*> (glob)
1942 In-Reply-To: <patchbomb.60@*> (glob)
1942 In-Reply-To: <patchbomb.60@*> (glob)
1943 References: <patchbomb.60@*> (glob)
1943 References: <patchbomb.60@*> (glob)
1944 User-Agent: Mercurial-patchbomb/* (glob)
1944 User-Agent: Mercurial-patchbomb/* (glob)
1945 Date: Thu, 01 Jan 1970 00:01:01 +0000
1945 Date: Thu, 01 Jan 1970 00:01:01 +0000
1946 From: quux
1946 From: quux
1947 To: foo
1947 To: foo
1948 Cc: bar
1948 Cc: bar
1949
1949
1950 # HG changeset patch
1950 # HG changeset patch
1951 # User test
1951 # User test
1952 # Date 1 0
1952 # Date 1 0
1953 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1953 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
1954 # Parent 0000000000000000000000000000000000000000
1954 # Parent 0000000000000000000000000000000000000000
1955 a
1955 a
1956
1956
1957 diff -r 000000000000 -r 8580ff50825a a
1957 diff -r 000000000000 -r 8580ff50825a a
1958 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1958 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1959 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1959 +++ b/a Thu Jan 01 00:00:01 1970 +0000
1960 @@ -0,0 +1,1 @@
1960 @@ -0,0 +1,1 @@
1961 +a
1961 +a
1962
1962
1963 Displaying [PATCH 2 of 2 fooFlag barFlag] b ...
1963 displaying [PATCH 2 of 2 fooFlag barFlag] b ...
1964 Content-Type: text/plain; charset="us-ascii"
1964 Content-Type: text/plain; charset="us-ascii"
1965 MIME-Version: 1.0
1965 MIME-Version: 1.0
1966 Content-Transfer-Encoding: 7bit
1966 Content-Transfer-Encoding: 7bit
1967 Subject: [PATCH 2 of 2 fooFlag barFlag] b
1967 Subject: [PATCH 2 of 2 fooFlag barFlag] b
1968 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1968 X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1969 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1969 Message-Id: <97d72e5f12c7e84f8506.62@*> (glob)
1970 In-Reply-To: <patchbomb.60@*> (glob)
1970 In-Reply-To: <patchbomb.60@*> (glob)
1971 References: <patchbomb.60@*> (glob)
1971 References: <patchbomb.60@*> (glob)
1972 User-Agent: Mercurial-patchbomb/* (glob)
1972 User-Agent: Mercurial-patchbomb/* (glob)
1973 Date: Thu, 01 Jan 1970 00:01:02 +0000
1973 Date: Thu, 01 Jan 1970 00:01:02 +0000
1974 From: quux
1974 From: quux
1975 To: foo
1975 To: foo
1976 Cc: bar
1976 Cc: bar
1977
1977
1978 # HG changeset patch
1978 # HG changeset patch
1979 # User test
1979 # User test
1980 # Date 2 0
1980 # Date 2 0
1981 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1981 # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9
1982 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1982 # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab
1983 b
1983 b
1984
1984
1985 diff -r 8580ff50825a -r 97d72e5f12c7 b
1985 diff -r 8580ff50825a -r 97d72e5f12c7 b
1986 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1986 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1987 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1987 +++ b/b Thu Jan 01 00:00:02 1970 +0000
1988 @@ -0,0 +1,1 @@
1988 @@ -0,0 +1,1 @@
1989 +b
1989 +b
1990
1990
1991
1991
1992 test multi-address parsing:
1992 test multi-address parsing:
1993 $ hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t 'spam<spam><eggs>' \
1993 $ hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t 'spam<spam><eggs>' \
1994 > -t toast -c 'foo,bar@example.com' -c '"A, B <>" <a@example.com>' -s test -r 0 \
1994 > -t toast -c 'foo,bar@example.com' -c '"A, B <>" <a@example.com>' -s test -r 0 \
1995 > --config email.bcc='"Quux, A." <quux>'
1995 > --config email.bcc='"Quux, A." <quux>'
1996 This patch series consists of 1 patches.
1996 this patch series consists of 1 patches.
1997
1997
1998
1998
1999 Sending [PATCH] test ...
1999 sending [PATCH] test ...
2000 $ cat < tmp.mbox
2000 $ cat < tmp.mbox
2001 From quux ... ... .. ..:..:.. .... (re)
2001 From quux ... ... .. ..:..:.. .... (re)
2002 Content-Type: text/plain; charset="us-ascii"
2002 Content-Type: text/plain; charset="us-ascii"
2003 MIME-Version: 1.0
2003 MIME-Version: 1.0
2004 Content-Transfer-Encoding: 7bit
2004 Content-Transfer-Encoding: 7bit
2005 Subject: [PATCH] test
2005 Subject: [PATCH] test
2006 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
2006 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
2007 Message-Id: <8580ff50825a50c8f716.315532860@*> (glob)
2007 Message-Id: <8580ff50825a50c8f716.315532860@*> (glob)
2008 User-Agent: Mercurial-patchbomb/* (glob)
2008 User-Agent: Mercurial-patchbomb/* (glob)
2009 Date: Tue, 01 Jan 1980 00:01:00 +0000
2009 Date: Tue, 01 Jan 1980 00:01:00 +0000
2010 From: quux
2010 From: quux
2011 To: spam <spam>, eggs, toast
2011 To: spam <spam>, eggs, toast
2012 Cc: foo, bar@example.com, "A, B <>" <a@example.com>
2012 Cc: foo, bar@example.com, "A, B <>" <a@example.com>
2013 Bcc: "Quux, A." <quux>
2013 Bcc: "Quux, A." <quux>
2014
2014
2015 # HG changeset patch
2015 # HG changeset patch
2016 # User test
2016 # User test
2017 # Date 1 0
2017 # Date 1 0
2018 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
2018 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
2019 # Parent 0000000000000000000000000000000000000000
2019 # Parent 0000000000000000000000000000000000000000
2020 a
2020 a
2021
2021
2022 diff -r 000000000000 -r 8580ff50825a a
2022 diff -r 000000000000 -r 8580ff50825a a
2023 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2023 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2024 +++ b/a Thu Jan 01 00:00:01 1970 +0000
2024 +++ b/a Thu Jan 01 00:00:01 1970 +0000
2025 @@ -0,0 +1,1 @@
2025 @@ -0,0 +1,1 @@
2026 +a
2026 +a
2027
2027
2028
2028
2029
2029
2030 test multi-byte domain parsing:
2030 test multi-byte domain parsing:
2031 $ UUML=`python -c 'import sys; sys.stdout.write("\374")'`
2031 $ UUML=`python -c 'import sys; sys.stdout.write("\374")'`
2032 $ HGENCODING=iso-8859-1
2032 $ HGENCODING=iso-8859-1
2033 $ export HGENCODING
2033 $ export HGENCODING
2034 $ hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t "bar@${UUML}nicode.com" -s test -r 0
2034 $ hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t "bar@${UUML}nicode.com" -s test -r 0
2035 This patch series consists of 1 patches.
2035 this patch series consists of 1 patches.
2036
2036
2037 Cc:
2037 Cc:
2038
2038
2039 Sending [PATCH] test ...
2039 sending [PATCH] test ...
2040
2040
2041 $ cat tmp.mbox
2041 $ cat tmp.mbox
2042 From quux ... ... .. ..:..:.. .... (re)
2042 From quux ... ... .. ..:..:.. .... (re)
2043 Content-Type: text/plain; charset="us-ascii"
2043 Content-Type: text/plain; charset="us-ascii"
2044 MIME-Version: 1.0
2044 MIME-Version: 1.0
2045 Content-Transfer-Encoding: 7bit
2045 Content-Transfer-Encoding: 7bit
2046 Subject: [PATCH] test
2046 Subject: [PATCH] test
2047 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
2047 X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
2048 Message-Id: <8580ff50825a50c8f716.315532860@*> (glob)
2048 Message-Id: <8580ff50825a50c8f716.315532860@*> (glob)
2049 User-Agent: Mercurial-patchbomb/* (glob)
2049 User-Agent: Mercurial-patchbomb/* (glob)
2050 Date: Tue, 01 Jan 1980 00:01:00 +0000
2050 Date: Tue, 01 Jan 1980 00:01:00 +0000
2051 From: quux
2051 From: quux
2052 To: bar@xn--nicode-2ya.com
2052 To: bar@xn--nicode-2ya.com
2053
2053
2054 # HG changeset patch
2054 # HG changeset patch
2055 # User test
2055 # User test
2056 # Date 1 0
2056 # Date 1 0
2057 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
2057 # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab
2058 # Parent 0000000000000000000000000000000000000000
2058 # Parent 0000000000000000000000000000000000000000
2059 a
2059 a
2060
2060
2061 diff -r 000000000000 -r 8580ff50825a a
2061 diff -r 000000000000 -r 8580ff50825a a
2062 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2062 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2063 +++ b/a Thu Jan 01 00:00:01 1970 +0000
2063 +++ b/a Thu Jan 01 00:00:01 1970 +0000
2064 @@ -0,0 +1,1 @@
2064 @@ -0,0 +1,1 @@
2065 +a
2065 +a
2066
2066
2067
2067
2068
2068
2069 test outgoing:
2069 test outgoing:
2070 $ hg up 1
2070 $ hg up 1
2071 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
2071 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
2072
2072
2073 $ hg branch test
2073 $ hg branch test
2074 marked working directory as branch test
2074 marked working directory as branch test
2075 (branches are permanent and global, did you want a bookmark?)
2075 (branches are permanent and global, did you want a bookmark?)
2076
2076
2077 $ echo d > d
2077 $ echo d > d
2078 $ hg add d
2078 $ hg add d
2079 $ hg ci -md -d '4 0'
2079 $ hg ci -md -d '4 0'
2080 $ hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t
2080 $ hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t
2081 comparing with ../t
2081 comparing with ../t
2082 searching for changes
2082 searching for changes
2083 From [test]: test
2083 From [test]: test
2084 This patch series consists of 8 patches.
2084 this patch series consists of 8 patches.
2085
2085
2086
2086
2087 Write the introductory message for the patch series.
2087 Write the introductory message for the patch series.
2088
2088
2089 Cc:
2089 Cc:
2090
2090
2091 Displaying [PATCH 0 of 8] test ...
2091 displaying [PATCH 0 of 8] test ...
2092 Content-Type: text/plain; charset="us-ascii"
2092 Content-Type: text/plain; charset="us-ascii"
2093 MIME-Version: 1.0
2093 MIME-Version: 1.0
2094 Content-Transfer-Encoding: 7bit
2094 Content-Transfer-Encoding: 7bit
2095 Subject: [PATCH 0 of 8] test
2095 Subject: [PATCH 0 of 8] test
2096 Message-Id: <patchbomb.315532860@*> (glob)
2096 Message-Id: <patchbomb.315532860@*> (glob)
2097 User-Agent: Mercurial-patchbomb/* (glob)
2097 User-Agent: Mercurial-patchbomb/* (glob)
2098 Date: Tue, 01 Jan 1980 00:01:00 +0000
2098 Date: Tue, 01 Jan 1980 00:01:00 +0000
2099 From: test
2099 From: test
2100 To: foo
2100 To: foo
2101
2101
2102
2102
2103 Displaying [PATCH 1 of 8] c ...
2103 displaying [PATCH 1 of 8] c ...
2104 Content-Type: text/plain; charset="us-ascii"
2104 Content-Type: text/plain; charset="us-ascii"
2105 MIME-Version: 1.0
2105 MIME-Version: 1.0
2106 Content-Transfer-Encoding: 7bit
2106 Content-Transfer-Encoding: 7bit
2107 Subject: [PATCH 1 of 8] c
2107 Subject: [PATCH 1 of 8] c
2108 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
2108 X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
2109 Message-Id: <ff2c9fa2018b15fa74b3.315532861@*> (glob)
2109 Message-Id: <ff2c9fa2018b15fa74b3.315532861@*> (glob)
2110 In-Reply-To: <patchbomb.315532860@*> (glob)
2110 In-Reply-To: <patchbomb.315532860@*> (glob)
2111 References: <patchbomb.315532860@*> (glob)
2111 References: <patchbomb.315532860@*> (glob)
2112 User-Agent: Mercurial-patchbomb/* (glob)
2112 User-Agent: Mercurial-patchbomb/* (glob)
2113 Date: Tue, 01 Jan 1980 00:01:01 +0000
2113 Date: Tue, 01 Jan 1980 00:01:01 +0000
2114 From: test
2114 From: test
2115 To: foo
2115 To: foo
2116
2116
2117 # HG changeset patch
2117 # HG changeset patch
2118 # User test
2118 # User test
2119 # Date 3 0
2119 # Date 3 0
2120 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
2120 # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f
2121 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
2121 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
2122 c
2122 c
2123
2123
2124 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
2124 diff -r 97d72e5f12c7 -r ff2c9fa2018b c
2125 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2125 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2126 +++ b/c Thu Jan 01 00:00:03 1970 +0000
2126 +++ b/c Thu Jan 01 00:00:03 1970 +0000
2127 @@ -0,0 +1,1 @@
2127 @@ -0,0 +1,1 @@
2128 +c
2128 +c
2129
2129
2130 Displaying [PATCH 2 of 8] utf-8 content ...
2130 displaying [PATCH 2 of 8] utf-8 content ...
2131 Content-Type: text/plain; charset="us-ascii"
2131 Content-Type: text/plain; charset="us-ascii"
2132 MIME-Version: 1.0
2132 MIME-Version: 1.0
2133 Content-Transfer-Encoding: 8bit
2133 Content-Transfer-Encoding: 8bit
2134 Subject: [PATCH 2 of 8] utf-8 content
2134 Subject: [PATCH 2 of 8] utf-8 content
2135 X-Mercurial-Node: 909a00e13e9d78b575aeee23dddbada46d5a143f
2135 X-Mercurial-Node: 909a00e13e9d78b575aeee23dddbada46d5a143f
2136 Message-Id: <909a00e13e9d78b575ae.315532862@*> (glob)
2136 Message-Id: <909a00e13e9d78b575ae.315532862@*> (glob)
2137 In-Reply-To: <patchbomb.315532860@*> (glob)
2137 In-Reply-To: <patchbomb.315532860@*> (glob)
2138 References: <patchbomb.315532860@*> (glob)
2138 References: <patchbomb.315532860@*> (glob)
2139 User-Agent: Mercurial-patchbomb/* (glob)
2139 User-Agent: Mercurial-patchbomb/* (glob)
2140 Date: Tue, 01 Jan 1980 00:01:02 +0000
2140 Date: Tue, 01 Jan 1980 00:01:02 +0000
2141 From: test
2141 From: test
2142 To: foo
2142 To: foo
2143
2143
2144 # HG changeset patch
2144 # HG changeset patch
2145 # User test
2145 # User test
2146 # Date 4 0
2146 # Date 4 0
2147 # Node ID 909a00e13e9d78b575aeee23dddbada46d5a143f
2147 # Node ID 909a00e13e9d78b575aeee23dddbada46d5a143f
2148 # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f
2148 # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f
2149 utf-8 content
2149 utf-8 content
2150
2150
2151 diff -r ff2c9fa2018b -r 909a00e13e9d description
2151 diff -r ff2c9fa2018b -r 909a00e13e9d description
2152 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2152 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2153 +++ b/description Thu Jan 01 00:00:04 1970 +0000
2153 +++ b/description Thu Jan 01 00:00:04 1970 +0000
2154 @@ -0,0 +1,3 @@
2154 @@ -0,0 +1,3 @@
2155 +a multiline
2155 +a multiline
2156 +
2156 +
2157 +description
2157 +description
2158 diff -r ff2c9fa2018b -r 909a00e13e9d utf
2158 diff -r ff2c9fa2018b -r 909a00e13e9d utf
2159 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2159 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2160 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
2160 +++ b/utf Thu Jan 01 00:00:04 1970 +0000
2161 @@ -0,0 +1,1 @@
2161 @@ -0,0 +1,1 @@
2162 +h\xc3\xb6mma! (esc)
2162 +h\xc3\xb6mma! (esc)
2163
2163
2164 Displaying [PATCH 3 of 8] long line ...
2164 displaying [PATCH 3 of 8] long line ...
2165 Content-Type: text/plain; charset="us-ascii"
2165 Content-Type: text/plain; charset="us-ascii"
2166 MIME-Version: 1.0
2166 MIME-Version: 1.0
2167 Content-Transfer-Encoding: quoted-printable
2167 Content-Transfer-Encoding: quoted-printable
2168 Subject: [PATCH 3 of 8] long line
2168 Subject: [PATCH 3 of 8] long line
2169 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
2169 X-Mercurial-Node: a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
2170 Message-Id: <a2ea8fc83dd8b93cfd86.315532863@*> (glob)
2170 Message-Id: <a2ea8fc83dd8b93cfd86.315532863@*> (glob)
2171 In-Reply-To: <patchbomb.315532860@*> (glob)
2171 In-Reply-To: <patchbomb.315532860@*> (glob)
2172 References: <patchbomb.315532860@*> (glob)
2172 References: <patchbomb.315532860@*> (glob)
2173 User-Agent: Mercurial-patchbomb/* (glob)
2173 User-Agent: Mercurial-patchbomb/* (glob)
2174 Date: Tue, 01 Jan 1980 00:01:03 +0000
2174 Date: Tue, 01 Jan 1980 00:01:03 +0000
2175 From: test
2175 From: test
2176 To: foo
2176 To: foo
2177
2177
2178 # HG changeset patch
2178 # HG changeset patch
2179 # User test
2179 # User test
2180 # Date 4 0
2180 # Date 4 0
2181 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
2181 # Node ID a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
2182 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
2182 # Parent 909a00e13e9d78b575aeee23dddbada46d5a143f
2183 long line
2183 long line
2184
2184
2185 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
2185 diff -r 909a00e13e9d -r a2ea8fc83dd8 long
2186 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2186 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2187 +++ b/long Thu Jan 01 00:00:04 1970 +0000
2187 +++ b/long Thu Jan 01 00:00:04 1970 +0000
2188 @@ -0,0 +1,4 @@
2188 @@ -0,0 +1,4 @@
2189 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2189 +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2190 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2190 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2191 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2191 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2192 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2192 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2193 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2193 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2194 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2194 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2195 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2195 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2196 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2196 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2197 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2197 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2198 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2198 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2199 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2199 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2200 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2200 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2201 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2201 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
2202 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2202 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2203 +foo
2203 +foo
2204 +
2204 +
2205 +bar
2205 +bar
2206
2206
2207 Displaying [PATCH 4 of 8] isolatin 8-bit encoding ...
2207 displaying [PATCH 4 of 8] isolatin 8-bit encoding ...
2208 Content-Type: text/plain; charset="us-ascii"
2208 Content-Type: text/plain; charset="us-ascii"
2209 MIME-Version: 1.0
2209 MIME-Version: 1.0
2210 Content-Transfer-Encoding: 8bit
2210 Content-Transfer-Encoding: 8bit
2211 Subject: [PATCH 4 of 8] isolatin 8-bit encoding
2211 Subject: [PATCH 4 of 8] isolatin 8-bit encoding
2212 X-Mercurial-Node: 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
2212 X-Mercurial-Node: 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
2213 Message-Id: <240fb913fc1b7ff15ddb.315532864@*> (glob)
2213 Message-Id: <240fb913fc1b7ff15ddb.315532864@*> (glob)
2214 In-Reply-To: <patchbomb.315532860@*> (glob)
2214 In-Reply-To: <patchbomb.315532860@*> (glob)
2215 References: <patchbomb.315532860@*> (glob)
2215 References: <patchbomb.315532860@*> (glob)
2216 User-Agent: Mercurial-patchbomb/* (glob)
2216 User-Agent: Mercurial-patchbomb/* (glob)
2217 Date: Tue, 01 Jan 1980 00:01:04 +0000
2217 Date: Tue, 01 Jan 1980 00:01:04 +0000
2218 From: test
2218 From: test
2219 To: foo
2219 To: foo
2220
2220
2221 # HG changeset patch
2221 # HG changeset patch
2222 # User test
2222 # User test
2223 # Date 5 0
2223 # Date 5 0
2224 # Node ID 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
2224 # Node ID 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
2225 # Parent a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
2225 # Parent a2ea8fc83dd8b93cfd86ac97b28287204ab806e1
2226 isolatin 8-bit encoding
2226 isolatin 8-bit encoding
2227
2227
2228 diff -r a2ea8fc83dd8 -r 240fb913fc1b isolatin
2228 diff -r a2ea8fc83dd8 -r 240fb913fc1b isolatin
2229 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2229 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2230 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
2230 +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000
2231 @@ -0,0 +1,1 @@
2231 @@ -0,0 +1,1 @@
2232 +h\xf6mma! (esc)
2232 +h\xf6mma! (esc)
2233
2233
2234 Displaying [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a ...
2234 displaying [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a ...
2235 Content-Type: text/plain; charset="us-ascii"
2235 Content-Type: text/plain; charset="us-ascii"
2236 MIME-Version: 1.0
2236 MIME-Version: 1.0
2237 Content-Transfer-Encoding: 7bit
2237 Content-Transfer-Encoding: 7bit
2238 Subject: [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a
2238 Subject: [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a
2239 X-Mercurial-Node: 5d5ef15dfe5e7bd3a4ee154b5fff76c7945ec433
2239 X-Mercurial-Node: 5d5ef15dfe5e7bd3a4ee154b5fff76c7945ec433
2240 Message-Id: <5d5ef15dfe5e7bd3a4ee.315532865@*> (glob)
2240 Message-Id: <5d5ef15dfe5e7bd3a4ee.315532865@*> (glob)
2241 In-Reply-To: <patchbomb.315532860@*> (glob)
2241 In-Reply-To: <patchbomb.315532860@*> (glob)
2242 References: <patchbomb.315532860@*> (glob)
2242 References: <patchbomb.315532860@*> (glob)
2243 User-Agent: Mercurial-patchbomb/* (glob)
2243 User-Agent: Mercurial-patchbomb/* (glob)
2244 Date: Tue, 01 Jan 1980 00:01:05 +0000
2244 Date: Tue, 01 Jan 1980 00:01:05 +0000
2245 From: test
2245 From: test
2246 To: foo
2246 To: foo
2247
2247
2248 # HG changeset patch
2248 # HG changeset patch
2249 # User test
2249 # User test
2250 # Date 0 0
2250 # Date 0 0
2251 # Node ID 5d5ef15dfe5e7bd3a4ee154b5fff76c7945ec433
2251 # Node ID 5d5ef15dfe5e7bd3a4ee154b5fff76c7945ec433
2252 # Parent 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
2252 # Parent 240fb913fc1b7ff15ddb9f33e73d82bf5277c720
2253 Added tag zero, zero.foo for changeset 8580ff50825a
2253 Added tag zero, zero.foo for changeset 8580ff50825a
2254
2254
2255 diff -r 240fb913fc1b -r 5d5ef15dfe5e .hgtags
2255 diff -r 240fb913fc1b -r 5d5ef15dfe5e .hgtags
2256 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2256 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2257 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
2257 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
2258 @@ -0,0 +1,2 @@
2258 @@ -0,0 +1,2 @@
2259 +8580ff50825a50c8f716709acdf8de0deddcd6ab zero
2259 +8580ff50825a50c8f716709acdf8de0deddcd6ab zero
2260 +8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
2260 +8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
2261
2261
2262 Displaying [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7 ...
2262 displaying [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7 ...
2263 Content-Type: text/plain; charset="us-ascii"
2263 Content-Type: text/plain; charset="us-ascii"
2264 MIME-Version: 1.0
2264 MIME-Version: 1.0
2265 Content-Transfer-Encoding: 7bit
2265 Content-Transfer-Encoding: 7bit
2266 Subject: [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7
2266 Subject: [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7
2267 X-Mercurial-Node: 045ca29b1ea20e4940411e695e20e521f2f0f98e
2267 X-Mercurial-Node: 045ca29b1ea20e4940411e695e20e521f2f0f98e
2268 Message-Id: <045ca29b1ea20e494041.315532866@*> (glob)
2268 Message-Id: <045ca29b1ea20e494041.315532866@*> (glob)
2269 In-Reply-To: <patchbomb.315532860@*> (glob)
2269 In-Reply-To: <patchbomb.315532860@*> (glob)
2270 References: <patchbomb.315532860@*> (glob)
2270 References: <patchbomb.315532860@*> (glob)
2271 User-Agent: Mercurial-patchbomb/* (glob)
2271 User-Agent: Mercurial-patchbomb/* (glob)
2272 Date: Tue, 01 Jan 1980 00:01:06 +0000
2272 Date: Tue, 01 Jan 1980 00:01:06 +0000
2273 From: test
2273 From: test
2274 To: foo
2274 To: foo
2275
2275
2276 # HG changeset patch
2276 # HG changeset patch
2277 # User test
2277 # User test
2278 # Date 0 0
2278 # Date 0 0
2279 # Node ID 045ca29b1ea20e4940411e695e20e521f2f0f98e
2279 # Node ID 045ca29b1ea20e4940411e695e20e521f2f0f98e
2280 # Parent 5d5ef15dfe5e7bd3a4ee154b5fff76c7945ec433
2280 # Parent 5d5ef15dfe5e7bd3a4ee154b5fff76c7945ec433
2281 Added tag one, one.patch for changeset 97d72e5f12c7
2281 Added tag one, one.patch for changeset 97d72e5f12c7
2282
2282
2283 diff -r 5d5ef15dfe5e -r 045ca29b1ea2 .hgtags
2283 diff -r 5d5ef15dfe5e -r 045ca29b1ea2 .hgtags
2284 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
2284 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
2285 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
2285 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
2286 @@ -1,2 +1,4 @@
2286 @@ -1,2 +1,4 @@
2287 8580ff50825a50c8f716709acdf8de0deddcd6ab zero
2287 8580ff50825a50c8f716709acdf8de0deddcd6ab zero
2288 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
2288 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
2289 +97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
2289 +97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
2290 +97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
2290 +97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
2291
2291
2292 Displaying [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b ...
2292 displaying [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b ...
2293 Content-Type: text/plain; charset="us-ascii"
2293 Content-Type: text/plain; charset="us-ascii"
2294 MIME-Version: 1.0
2294 MIME-Version: 1.0
2295 Content-Transfer-Encoding: 7bit
2295 Content-Transfer-Encoding: 7bit
2296 Subject: [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b
2296 Subject: [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b
2297 X-Mercurial-Node: 7aead2484924c445ad8ce2613df91f52f9e502ed
2297 X-Mercurial-Node: 7aead2484924c445ad8ce2613df91f52f9e502ed
2298 Message-Id: <7aead2484924c445ad8c.315532867@*> (glob)
2298 Message-Id: <7aead2484924c445ad8c.315532867@*> (glob)
2299 In-Reply-To: <patchbomb.315532860@*> (glob)
2299 In-Reply-To: <patchbomb.315532860@*> (glob)
2300 References: <patchbomb.315532860@*> (glob)
2300 References: <patchbomb.315532860@*> (glob)
2301 User-Agent: Mercurial-patchbomb/* (glob)
2301 User-Agent: Mercurial-patchbomb/* (glob)
2302 Date: Tue, 01 Jan 1980 00:01:07 +0000
2302 Date: Tue, 01 Jan 1980 00:01:07 +0000
2303 From: test
2303 From: test
2304 To: foo
2304 To: foo
2305
2305
2306 # HG changeset patch
2306 # HG changeset patch
2307 # User test
2307 # User test
2308 # Date 0 0
2308 # Date 0 0
2309 # Node ID 7aead2484924c445ad8ce2613df91f52f9e502ed
2309 # Node ID 7aead2484924c445ad8ce2613df91f52f9e502ed
2310 # Parent 045ca29b1ea20e4940411e695e20e521f2f0f98e
2310 # Parent 045ca29b1ea20e4940411e695e20e521f2f0f98e
2311 Added tag two, two.diff for changeset ff2c9fa2018b
2311 Added tag two, two.diff for changeset ff2c9fa2018b
2312
2312
2313 diff -r 045ca29b1ea2 -r 7aead2484924 .hgtags
2313 diff -r 045ca29b1ea2 -r 7aead2484924 .hgtags
2314 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
2314 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
2315 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
2315 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
2316 @@ -2,3 +2,5 @@
2316 @@ -2,3 +2,5 @@
2317 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
2317 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo
2318 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
2318 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one
2319 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
2319 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch
2320 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two
2320 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two
2321 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff
2321 +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff
2322
2322
2323 Displaying [PATCH 8 of 8] d ...
2323 displaying [PATCH 8 of 8] d ...
2324 Content-Type: text/plain; charset="us-ascii"
2324 Content-Type: text/plain; charset="us-ascii"
2325 MIME-Version: 1.0
2325 MIME-Version: 1.0
2326 Content-Transfer-Encoding: 7bit
2326 Content-Transfer-Encoding: 7bit
2327 Subject: [PATCH 8 of 8] d
2327 Subject: [PATCH 8 of 8] d
2328 X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
2328 X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
2329 Message-Id: <2f9fa9b998c5fe3ac2bd.315532868@*> (glob)
2329 Message-Id: <2f9fa9b998c5fe3ac2bd.315532868@*> (glob)
2330 In-Reply-To: <patchbomb.315532860@*> (glob)
2330 In-Reply-To: <patchbomb.315532860@*> (glob)
2331 References: <patchbomb.315532860@*> (glob)
2331 References: <patchbomb.315532860@*> (glob)
2332 User-Agent: Mercurial-patchbomb/* (glob)
2332 User-Agent: Mercurial-patchbomb/* (glob)
2333 Date: Tue, 01 Jan 1980 00:01:08 +0000
2333 Date: Tue, 01 Jan 1980 00:01:08 +0000
2334 From: test
2334 From: test
2335 To: foo
2335 To: foo
2336
2336
2337 # HG changeset patch
2337 # HG changeset patch
2338 # User test
2338 # User test
2339 # Date 4 0
2339 # Date 4 0
2340 # Branch test
2340 # Branch test
2341 # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
2341 # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
2342 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
2342 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
2343 d
2343 d
2344
2344
2345 diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d
2345 diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d
2346 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2346 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2347 +++ b/d Thu Jan 01 00:00:04 1970 +0000
2347 +++ b/d Thu Jan 01 00:00:04 1970 +0000
2348 @@ -0,0 +1,1 @@
2348 @@ -0,0 +1,1 @@
2349 +d
2349 +d
2350
2350
2351
2351
2352 dest#branch URIs:
2352 dest#branch URIs:
2353 $ hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t#test
2353 $ hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t#test
2354 comparing with ../t
2354 comparing with ../t
2355 searching for changes
2355 searching for changes
2356 From [test]: test
2356 From [test]: test
2357 This patch series consists of 1 patches.
2357 this patch series consists of 1 patches.
2358
2358
2359 Cc:
2359 Cc:
2360
2360
2361 Displaying [PATCH] test ...
2361 displaying [PATCH] test ...
2362 Content-Type: text/plain; charset="us-ascii"
2362 Content-Type: text/plain; charset="us-ascii"
2363 MIME-Version: 1.0
2363 MIME-Version: 1.0
2364 Content-Transfer-Encoding: 7bit
2364 Content-Transfer-Encoding: 7bit
2365 Subject: [PATCH] test
2365 Subject: [PATCH] test
2366 X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
2366 X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
2367 Message-Id: <2f9fa9b998c5fe3ac2bd.315532860@*> (glob)
2367 Message-Id: <2f9fa9b998c5fe3ac2bd.315532860@*> (glob)
2368 User-Agent: Mercurial-patchbomb/* (glob)
2368 User-Agent: Mercurial-patchbomb/* (glob)
2369 Date: Tue, 01 Jan 1980 00:01:00 +0000
2369 Date: Tue, 01 Jan 1980 00:01:00 +0000
2370 From: test
2370 From: test
2371 To: foo
2371 To: foo
2372
2372
2373 # HG changeset patch
2373 # HG changeset patch
2374 # User test
2374 # User test
2375 # Date 4 0
2375 # Date 4 0
2376 # Branch test
2376 # Branch test
2377 # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
2377 # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
2378 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
2378 # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9
2379 d
2379 d
2380
2380
2381 diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d
2381 diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d
2382 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2382 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2383 +++ b/d Thu Jan 01 00:00:04 1970 +0000
2383 +++ b/d Thu Jan 01 00:00:04 1970 +0000
2384 @@ -0,0 +1,1 @@
2384 @@ -0,0 +1,1 @@
2385 +d
2385 +d
2386
2386
2387
2387
2388 $ cd ..
2388 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now