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