Show More
@@ -1,1001 +1,1001 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 Olivia Mackall <olivia@selenic.com> and others |
|
3 | # Copyright 2005-2009 Olivia Mackall <olivia@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 | By default, :hg:`email` will prompt for a ``To`` or ``CC`` header if |
|
47 | By default, :hg:`email` will prompt for a ``To`` or ``CC`` header if | |
48 | you do not supply one via configuration or the command line. You can |
|
48 | you do not supply one via configuration or the command line. You can | |
49 | override this to never prompt by configuring an empty value:: |
|
49 | override this to never prompt by configuring an empty value:: | |
50 |
|
50 | |||
51 | [email] |
|
51 | [email] | |
52 | cc = |
|
52 | cc = | |
53 |
|
53 | |||
54 | You can control the default inclusion of an introduction message with the |
|
54 | You can control the default inclusion of an introduction message with the | |
55 | ``patchbomb.intro`` configuration option. The configuration is always |
|
55 | ``patchbomb.intro`` configuration option. The configuration is always | |
56 | overwritten by command line flags like --intro and --desc:: |
|
56 | overwritten by command line flags like --intro and --desc:: | |
57 |
|
57 | |||
58 | [patchbomb] |
|
58 | [patchbomb] | |
59 | intro=auto # include introduction message if more than 1 patch (default) |
|
59 | intro=auto # include introduction message if more than 1 patch (default) | |
60 | intro=never # never include an introduction message |
|
60 | intro=never # never include an introduction message | |
61 | intro=always # always include an introduction message |
|
61 | intro=always # always include an introduction message | |
62 |
|
62 | |||
63 | You can specify a template for flags to be added in subject prefixes. Flags |
|
63 | You can specify a template for flags to be added in subject prefixes. Flags | |
64 | specified by --flag option are exported as ``{flags}`` keyword:: |
|
64 | specified by --flag option are exported as ``{flags}`` keyword:: | |
65 |
|
65 | |||
66 | [patchbomb] |
|
66 | [patchbomb] | |
67 | flagtemplate = "{separate(' ', |
|
67 | flagtemplate = "{separate(' ', | |
68 | ifeq(branch, 'default', '', branch|upper), |
|
68 | ifeq(branch, 'default', '', branch|upper), | |
69 | flags)}" |
|
69 | flags)}" | |
70 |
|
70 | |||
71 | You can set patchbomb to always ask for confirmation by setting |
|
71 | You can set patchbomb to always ask for confirmation by setting | |
72 | ``patchbomb.confirm`` to true. |
|
72 | ``patchbomb.confirm`` to true. | |
73 | ''' |
|
73 | ''' | |
74 | from __future__ import absolute_import |
|
74 | from __future__ import absolute_import | |
75 |
|
75 | |||
76 | import email.encoders as emailencoders |
|
76 | import email.encoders as emailencoders | |
77 | import email.mime.base as emimebase |
|
77 | import email.mime.base as emimebase | |
78 | import email.mime.multipart as emimemultipart |
|
78 | import email.mime.multipart as emimemultipart | |
79 | import email.utils as eutil |
|
79 | import email.utils as eutil | |
80 | import errno |
|
80 | import errno | |
81 | import os |
|
81 | import os | |
82 | import socket |
|
82 | import socket | |
83 |
|
83 | |||
84 | from mercurial.i18n import _ |
|
84 | from mercurial.i18n import _ | |
85 | from mercurial.pycompat import open |
|
85 | from mercurial.pycompat import open | |
86 | from mercurial.node import bin |
|
86 | from mercurial.node import bin | |
87 | from mercurial import ( |
|
87 | from mercurial import ( | |
88 | cmdutil, |
|
88 | cmdutil, | |
89 | commands, |
|
89 | commands, | |
90 | encoding, |
|
90 | encoding, | |
91 | error, |
|
91 | error, | |
92 | formatter, |
|
92 | formatter, | |
93 | hg, |
|
93 | hg, | |
94 | mail, |
|
94 | mail, | |
95 | patch, |
|
95 | patch, | |
96 | pycompat, |
|
96 | pycompat, | |
97 | registrar, |
|
97 | registrar, | |
98 | scmutil, |
|
98 | scmutil, | |
99 | templater, |
|
99 | templater, | |
100 | util, |
|
100 | util, | |
101 | ) |
|
101 | ) | |
102 | from mercurial.utils import ( |
|
102 | from mercurial.utils import ( | |
103 | dateutil, |
|
103 | dateutil, | |
104 | urlutil, |
|
104 | urlutil, | |
105 | ) |
|
105 | ) | |
106 |
|
106 | |||
107 | stringio = util.stringio |
|
107 | stringio = util.stringio | |
108 |
|
108 | |||
109 | cmdtable = {} |
|
109 | cmdtable = {} | |
110 | command = registrar.command(cmdtable) |
|
110 | command = registrar.command(cmdtable) | |
111 |
|
111 | |||
112 | configtable = {} |
|
112 | configtable = {} | |
113 | configitem = registrar.configitem(configtable) |
|
113 | configitem = registrar.configitem(configtable) | |
114 |
|
114 | |||
115 | configitem( |
|
115 | configitem( | |
116 | b'patchbomb', |
|
116 | b'patchbomb', | |
117 | b'bundletype', |
|
117 | b'bundletype', | |
118 | default=None, |
|
118 | default=None, | |
119 | ) |
|
119 | ) | |
120 | configitem( |
|
120 | configitem( | |
121 | b'patchbomb', |
|
121 | b'patchbomb', | |
122 | b'bcc', |
|
122 | b'bcc', | |
123 | default=None, |
|
123 | default=None, | |
124 | ) |
|
124 | ) | |
125 | configitem( |
|
125 | configitem( | |
126 | b'patchbomb', |
|
126 | b'patchbomb', | |
127 | b'cc', |
|
127 | b'cc', | |
128 | default=None, |
|
128 | default=None, | |
129 | ) |
|
129 | ) | |
130 | configitem( |
|
130 | configitem( | |
131 | b'patchbomb', |
|
131 | b'patchbomb', | |
132 | b'confirm', |
|
132 | b'confirm', | |
133 | default=False, |
|
133 | default=False, | |
134 | ) |
|
134 | ) | |
135 | configitem( |
|
135 | configitem( | |
136 | b'patchbomb', |
|
136 | b'patchbomb', | |
137 | b'flagtemplate', |
|
137 | b'flagtemplate', | |
138 | default=None, |
|
138 | default=None, | |
139 | ) |
|
139 | ) | |
140 | configitem( |
|
140 | configitem( | |
141 | b'patchbomb', |
|
141 | b'patchbomb', | |
142 | b'from', |
|
142 | b'from', | |
143 | default=None, |
|
143 | default=None, | |
144 | ) |
|
144 | ) | |
145 | configitem( |
|
145 | configitem( | |
146 | b'patchbomb', |
|
146 | b'patchbomb', | |
147 | b'intro', |
|
147 | b'intro', | |
148 | default=b'auto', |
|
148 | default=b'auto', | |
149 | ) |
|
149 | ) | |
150 | configitem( |
|
150 | configitem( | |
151 | b'patchbomb', |
|
151 | b'patchbomb', | |
152 | b'publicurl', |
|
152 | b'publicurl', | |
153 | default=None, |
|
153 | default=None, | |
154 | ) |
|
154 | ) | |
155 | configitem( |
|
155 | configitem( | |
156 | b'patchbomb', |
|
156 | b'patchbomb', | |
157 | b'reply-to', |
|
157 | b'reply-to', | |
158 | default=None, |
|
158 | default=None, | |
159 | ) |
|
159 | ) | |
160 | configitem( |
|
160 | configitem( | |
161 | b'patchbomb', |
|
161 | b'patchbomb', | |
162 | b'to', |
|
162 | b'to', | |
163 | default=None, |
|
163 | default=None, | |
164 | ) |
|
164 | ) | |
165 |
|
165 | |||
166 | # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for |
|
166 | # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for | |
167 | # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should |
|
167 | # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should | |
168 | # be specifying the version(s) of Mercurial they are tested with, or |
|
168 | # be specifying the version(s) of Mercurial they are tested with, or | |
169 | # leave the attribute unspecified. |
|
169 | # leave the attribute unspecified. | |
170 | testedwith = b'ships-with-hg-core' |
|
170 | testedwith = b'ships-with-hg-core' | |
171 |
|
171 | |||
172 |
|
172 | |||
173 | def _addpullheader(seq, ctx): |
|
173 | def _addpullheader(seq, ctx): | |
174 | """Add a header pointing to a public URL where the changeset is available""" |
|
174 | """Add a header pointing to a public URL where the changeset is available""" | |
175 | repo = ctx.repo() |
|
175 | repo = ctx.repo() | |
176 | # experimental config: patchbomb.publicurl |
|
176 | # experimental config: patchbomb.publicurl | |
177 | # waiting for some logic that check that the changeset are available on the |
|
177 | # waiting for some logic that check that the changeset are available on the | |
178 | # destination before patchbombing anything. |
|
178 | # destination before patchbombing anything. | |
179 | publicurl = repo.ui.config(b'patchbomb', b'publicurl') |
|
179 | publicurl = repo.ui.config(b'patchbomb', b'publicurl') | |
180 | if publicurl: |
|
180 | if publicurl: | |
181 | return b'Available At %s\n# hg pull %s -r %s' % ( |
|
181 | return b'Available At %s\n# hg pull %s -r %s' % ( | |
182 | publicurl, |
|
182 | publicurl, | |
183 | publicurl, |
|
183 | publicurl, | |
184 | ctx, |
|
184 | ctx, | |
185 | ) |
|
185 | ) | |
186 | return None |
|
186 | return None | |
187 |
|
187 | |||
188 |
|
188 | |||
189 | def uisetup(ui): |
|
189 | def uisetup(ui): | |
190 | cmdutil.extraexport.append(b'pullurl') |
|
190 | cmdutil.extraexport.append(b'pullurl') | |
191 | cmdutil.extraexportmap[b'pullurl'] = _addpullheader |
|
191 | cmdutil.extraexportmap[b'pullurl'] = _addpullheader | |
192 |
|
192 | |||
193 |
|
193 | |||
194 | def reposetup(ui, repo): |
|
194 | def reposetup(ui, repo): | |
195 | if not repo.local(): |
|
195 | if not repo.local(): | |
196 | return |
|
196 | return | |
197 | repo._wlockfreeprefix.add(b'last-email.txt') |
|
197 | repo._wlockfreeprefix.add(b'last-email.txt') | |
198 |
|
198 | |||
199 |
|
199 | |||
200 | def prompt(ui, prompt, default=None, rest=b':'): |
|
200 | def prompt(ui, prompt, default=None, rest=b':'): | |
201 | if default: |
|
201 | if default: | |
202 | prompt += b' [%s]' % default |
|
202 | prompt += b' [%s]' % default | |
203 | return ui.prompt(prompt + rest, default) |
|
203 | return ui.prompt(prompt + rest, default) | |
204 |
|
204 | |||
205 |
|
205 | |||
206 | def introwanted(ui, opts, number): |
|
206 | def introwanted(ui, opts, number): | |
207 | '''is an introductory message apparently wanted?''' |
|
207 | '''is an introductory message apparently wanted?''' | |
208 | introconfig = ui.config(b'patchbomb', b'intro') |
|
208 | introconfig = ui.config(b'patchbomb', b'intro') | |
209 | if opts.get(b'intro') or opts.get(b'desc'): |
|
209 | if opts.get(b'intro') or opts.get(b'desc'): | |
210 | intro = True |
|
210 | intro = True | |
211 | elif introconfig == b'always': |
|
211 | elif introconfig == b'always': | |
212 | intro = True |
|
212 | intro = True | |
213 | elif introconfig == b'never': |
|
213 | elif introconfig == b'never': | |
214 | intro = False |
|
214 | intro = False | |
215 | elif introconfig == b'auto': |
|
215 | elif introconfig == b'auto': | |
216 | intro = number > 1 |
|
216 | intro = number > 1 | |
217 | else: |
|
217 | else: | |
218 | ui.write_err( |
|
218 | ui.write_err( | |
219 | _(b'warning: invalid patchbomb.intro value "%s"\n') % introconfig |
|
219 | _(b'warning: invalid patchbomb.intro value "%s"\n') % introconfig | |
220 | ) |
|
220 | ) | |
221 | ui.write_err(_(b'(should be one of always, never, auto)\n')) |
|
221 | ui.write_err(_(b'(should be one of always, never, auto)\n')) | |
222 | intro = number > 1 |
|
222 | intro = number > 1 | |
223 | return intro |
|
223 | return intro | |
224 |
|
224 | |||
225 |
|
225 | |||
226 | def _formatflags(ui, repo, rev, flags): |
|
226 | def _formatflags(ui, repo, rev, flags): | |
227 | """build flag string optionally by template""" |
|
227 | """build flag string optionally by template""" | |
228 | tmpl = ui.config(b'patchbomb', b'flagtemplate') |
|
228 | tmpl = ui.config(b'patchbomb', b'flagtemplate') | |
229 | if not tmpl: |
|
229 | if not tmpl: | |
230 | return b' '.join(flags) |
|
230 | return b' '.join(flags) | |
231 | out = util.stringio() |
|
231 | out = util.stringio() | |
232 | spec = formatter.literal_templatespec(templater.unquotestring(tmpl)) |
|
232 | spec = formatter.literal_templatespec(templater.unquotestring(tmpl)) | |
233 | with formatter.templateformatter(ui, out, b'patchbombflag', {}, spec) as fm: |
|
233 | with formatter.templateformatter(ui, out, b'patchbombflag', {}, spec) as fm: | |
234 | fm.startitem() |
|
234 | fm.startitem() | |
235 | fm.context(ctx=repo[rev]) |
|
235 | fm.context(ctx=repo[rev]) | |
236 | fm.write(b'flags', b'%s', fm.formatlist(flags, name=b'flag')) |
|
236 | fm.write(b'flags', b'%s', fm.formatlist(flags, name=b'flag')) | |
237 | return out.getvalue() |
|
237 | return out.getvalue() | |
238 |
|
238 | |||
239 |
|
239 | |||
240 | def _formatprefix(ui, repo, rev, flags, idx, total, numbered): |
|
240 | def _formatprefix(ui, repo, rev, flags, idx, total, numbered): | |
241 | """build prefix to patch subject""" |
|
241 | """build prefix to patch subject""" | |
242 | flag = _formatflags(ui, repo, rev, flags) |
|
242 | flag = _formatflags(ui, repo, rev, flags) | |
243 | if flag: |
|
243 | if flag: | |
244 | flag = b' ' + flag |
|
244 | flag = b' ' + flag | |
245 |
|
245 | |||
246 | if not numbered: |
|
246 | if not numbered: | |
247 | return b'[PATCH%s]' % flag |
|
247 | return b'[PATCH%s]' % flag | |
248 | else: |
|
248 | else: | |
249 | tlen = len(b"%d" % total) |
|
249 | tlen = len(b"%d" % total) | |
250 | return b'[PATCH %0*d of %d%s]' % (tlen, idx, total, flag) |
|
250 | return b'[PATCH %0*d of %d%s]' % (tlen, idx, total, flag) | |
251 |
|
251 | |||
252 |
|
252 | |||
253 | def makepatch( |
|
253 | def makepatch( | |
254 | ui, |
|
254 | ui, | |
255 | repo, |
|
255 | repo, | |
256 | rev, |
|
256 | rev, | |
257 | patchlines, |
|
257 | patchlines, | |
258 | opts, |
|
258 | opts, | |
259 | _charsets, |
|
259 | _charsets, | |
260 | idx, |
|
260 | idx, | |
261 | total, |
|
261 | total, | |
262 | numbered, |
|
262 | numbered, | |
263 | patchname=None, |
|
263 | patchname=None, | |
264 | ): |
|
264 | ): | |
265 |
|
265 | |||
266 | desc = [] |
|
266 | desc = [] | |
267 | node = None |
|
267 | node = None | |
268 | body = b'' |
|
268 | body = b'' | |
269 |
|
269 | |||
270 | for line in patchlines: |
|
270 | for line in patchlines: | |
271 | if line.startswith(b'#'): |
|
271 | if line.startswith(b'#'): | |
272 | if line.startswith(b'# Node ID'): |
|
272 | if line.startswith(b'# Node ID'): | |
273 | node = line.split()[-1] |
|
273 | node = line.split()[-1] | |
274 | continue |
|
274 | continue | |
275 | if line.startswith(b'diff -r') or line.startswith(b'diff --git'): |
|
275 | if line.startswith(b'diff -r') or line.startswith(b'diff --git'): | |
276 | break |
|
276 | break | |
277 | desc.append(line) |
|
277 | desc.append(line) | |
278 |
|
278 | |||
279 | if not patchname and not node: |
|
279 | if not patchname and not node: | |
280 | raise ValueError |
|
280 | raise ValueError | |
281 |
|
281 | |||
282 | if opts.get(b'attach') and not opts.get(b'body'): |
|
282 | if opts.get(b'attach') and not opts.get(b'body'): | |
283 | body = ( |
|
283 | body = ( | |
284 | b'\n'.join(desc[1:]).strip() |
|
284 | b'\n'.join(desc[1:]).strip() | |
285 | or b'Patch subject is complete summary.' |
|
285 | or b'Patch subject is complete summary.' | |
286 | ) |
|
286 | ) | |
287 | body += b'\n\n\n' |
|
287 | body += b'\n\n\n' | |
288 |
|
288 | |||
289 | if opts.get(b'plain'): |
|
289 | if opts.get(b'plain'): | |
290 | while patchlines and patchlines[0].startswith(b'# '): |
|
290 | while patchlines and patchlines[0].startswith(b'# '): | |
291 | patchlines.pop(0) |
|
291 | patchlines.pop(0) | |
292 | if patchlines: |
|
292 | if patchlines: | |
293 | patchlines.pop(0) |
|
293 | patchlines.pop(0) | |
294 | while patchlines and not patchlines[0].strip(): |
|
294 | while patchlines and not patchlines[0].strip(): | |
295 | patchlines.pop(0) |
|
295 | patchlines.pop(0) | |
296 |
|
296 | |||
297 | ds = patch.diffstat(patchlines) |
|
297 | ds = patch.diffstat(patchlines) | |
298 | if opts.get(b'diffstat'): |
|
298 | if opts.get(b'diffstat'): | |
299 | body += ds + b'\n\n' |
|
299 | body += ds + b'\n\n' | |
300 |
|
300 | |||
301 | addattachment = opts.get(b'attach') or opts.get(b'inline') |
|
301 | addattachment = opts.get(b'attach') or opts.get(b'inline') | |
302 | if not addattachment or opts.get(b'body'): |
|
302 | if not addattachment or opts.get(b'body'): | |
303 | body += b'\n'.join(patchlines) |
|
303 | body += b'\n'.join(patchlines) | |
304 |
|
304 | |||
305 | if addattachment: |
|
305 | if addattachment: | |
306 | msg = emimemultipart.MIMEMultipart() |
|
306 | msg = emimemultipart.MIMEMultipart() | |
307 | if body: |
|
307 | if body: | |
308 | msg.attach(mail.mimeencode(ui, body, _charsets, opts.get(b'test'))) |
|
308 | msg.attach(mail.mimeencode(ui, body, _charsets, opts.get(b'test'))) | |
309 | p = mail.mimetextpatch( |
|
309 | p = mail.mimetextpatch( | |
310 | b'\n'.join(patchlines), 'x-patch', opts.get(b'test') |
|
310 | b'\n'.join(patchlines), 'x-patch', opts.get(b'test') | |
311 | ) |
|
311 | ) | |
312 | binnode = bin(node) |
|
312 | binnode = bin(node) | |
313 | # if node is mq patch, it will have the patch file's name as a tag |
|
313 | # if node is mq patch, it will have the patch file's name as a tag | |
314 | if not patchname: |
|
314 | if not patchname: | |
315 | patchtags = [ |
|
315 | patchtags = [ | |
316 | t |
|
316 | t | |
317 | for t in repo.nodetags(binnode) |
|
317 | for t in repo.nodetags(binnode) | |
318 | if t.endswith(b'.patch') or t.endswith(b'.diff') |
|
318 | if t.endswith(b'.patch') or t.endswith(b'.diff') | |
319 | ] |
|
319 | ] | |
320 | if patchtags: |
|
320 | if patchtags: | |
321 | patchname = patchtags[0] |
|
321 | patchname = patchtags[0] | |
322 | elif total > 1: |
|
322 | elif total > 1: | |
323 | patchname = cmdutil.makefilename( |
|
323 | patchname = cmdutil.makefilename( | |
324 | repo[node], b'%b-%n.patch', seqno=idx, total=total |
|
324 | repo[node], b'%b-%n.patch', seqno=idx, total=total | |
325 | ) |
|
325 | ) | |
326 | else: |
|
326 | else: | |
327 | patchname = cmdutil.makefilename(repo[node], b'%b.patch') |
|
327 | patchname = cmdutil.makefilename(repo[node], b'%b.patch') | |
328 | disposition = r'inline' |
|
328 | disposition = r'inline' | |
329 | if opts.get(b'attach'): |
|
329 | if opts.get(b'attach'): | |
330 | disposition = r'attachment' |
|
330 | disposition = r'attachment' | |
331 | p['Content-Disposition'] = ( |
|
331 | p['Content-Disposition'] = ( | |
332 | disposition + '; filename=' + encoding.strfromlocal(patchname) |
|
332 | disposition + '; filename=' + encoding.strfromlocal(patchname) | |
333 | ) |
|
333 | ) | |
334 | msg.attach(p) |
|
334 | msg.attach(p) | |
335 | else: |
|
335 | else: | |
336 | msg = mail.mimetextpatch(body, display=opts.get(b'test')) |
|
336 | msg = mail.mimetextpatch(body, display=opts.get(b'test')) | |
337 |
|
337 | |||
338 | prefix = _formatprefix( |
|
338 | prefix = _formatprefix( | |
339 | ui, repo, rev, opts.get(b'flag'), idx, total, numbered |
|
339 | ui, repo, rev, opts.get(b'flag'), idx, total, numbered | |
340 | ) |
|
340 | ) | |
341 | subj = desc[0].strip().rstrip(b'. ') |
|
341 | subj = desc[0].strip().rstrip(b'. ') | |
342 | if not numbered: |
|
342 | if not numbered: | |
343 | subj = b' '.join([prefix, opts.get(b'subject') or subj]) |
|
343 | subj = b' '.join([prefix, opts.get(b'subject') or subj]) | |
344 | else: |
|
344 | else: | |
345 | subj = b' '.join([prefix, subj]) |
|
345 | subj = b' '.join([prefix, subj]) | |
346 | msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get(b'test')) |
|
346 | msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get(b'test')) | |
347 | msg['X-Mercurial-Node'] = pycompat.sysstr(node) |
|
347 | msg['X-Mercurial-Node'] = pycompat.sysstr(node) | |
348 | msg['X-Mercurial-Series-Index'] = '%i' % idx |
|
348 | msg['X-Mercurial-Series-Index'] = '%i' % idx | |
349 | msg['X-Mercurial-Series-Total'] = '%i' % total |
|
349 | msg['X-Mercurial-Series-Total'] = '%i' % total | |
350 | return msg, subj, ds |
|
350 | return msg, subj, ds | |
351 |
|
351 | |||
352 |
|
352 | |||
353 | def _getpatches(repo, revs, **opts): |
|
353 | def _getpatches(repo, revs, **opts): | |
354 | """return a list of patches for a list of revisions |
|
354 | """return a list of patches for a list of revisions | |
355 |
|
355 | |||
356 | Each patch in the list is itself a list of lines. |
|
356 | Each patch in the list is itself a list of lines. | |
357 | """ |
|
357 | """ | |
358 | ui = repo.ui |
|
358 | ui = repo.ui | |
359 | prev = repo[b'.'].rev() |
|
359 | prev = repo[b'.'].rev() | |
360 | for r in revs: |
|
360 | for r in revs: | |
361 | if r == prev and (repo[None].files() or repo[None].deleted()): |
|
361 | if r == prev and (repo[None].files() or repo[None].deleted()): | |
362 | ui.warn(_(b'warning: working directory has uncommitted changes\n')) |
|
362 | ui.warn(_(b'warning: working directory has uncommitted changes\n')) | |
363 | output = stringio() |
|
363 | output = stringio() | |
364 | cmdutil.exportfile( |
|
364 | cmdutil.exportfile( | |
365 | repo, [r], output, opts=patch.difffeatureopts(ui, opts, git=True) |
|
365 | repo, [r], output, opts=patch.difffeatureopts(ui, opts, git=True) | |
366 | ) |
|
366 | ) | |
367 | yield output.getvalue().split(b'\n') |
|
367 | yield output.getvalue().split(b'\n') | |
368 |
|
368 | |||
369 |
|
369 | |||
370 | def _getbundle(repo, dest, **opts): |
|
370 | def _getbundle(repo, dest, **opts): | |
371 | """return a bundle containing changesets missing in "dest" |
|
371 | """return a bundle containing changesets missing in "dest" | |
372 |
|
372 | |||
373 | The `opts` keyword-arguments are the same as the one accepted by the |
|
373 | The `opts` keyword-arguments are the same as the one accepted by the | |
374 | `bundle` command. |
|
374 | `bundle` command. | |
375 |
|
375 | |||
376 | The bundle is a returned as a single in-memory binary blob. |
|
376 | The bundle is a returned as a single in-memory binary blob. | |
377 | """ |
|
377 | """ | |
378 | ui = repo.ui |
|
378 | ui = repo.ui | |
379 | tmpdir = pycompat.mkdtemp(prefix=b'hg-email-bundle-') |
|
379 | tmpdir = pycompat.mkdtemp(prefix=b'hg-email-bundle-') | |
380 | tmpfn = os.path.join(tmpdir, b'bundle') |
|
380 | tmpfn = os.path.join(tmpdir, b'bundle') | |
381 | btype = ui.config(b'patchbomb', b'bundletype') |
|
381 | btype = ui.config(b'patchbomb', b'bundletype') | |
382 | if btype: |
|
382 | if btype: | |
383 | opts['type'] = btype |
|
383 | opts['type'] = btype | |
384 | try: |
|
384 | try: | |
385 | commands.bundle(ui, repo, tmpfn, dest, **opts) |
|
385 | commands.bundle(ui, repo, tmpfn, dest, **opts) | |
386 | return util.readfile(tmpfn) |
|
386 | return util.readfile(tmpfn) | |
387 | finally: |
|
387 | finally: | |
388 | try: |
|
388 | try: | |
389 | os.unlink(tmpfn) |
|
389 | os.unlink(tmpfn) | |
390 | except OSError: |
|
390 | except OSError: | |
391 | pass |
|
391 | pass | |
392 | os.rmdir(tmpdir) |
|
392 | os.rmdir(tmpdir) | |
393 |
|
393 | |||
394 |
|
394 | |||
395 | def _getdescription(repo, defaultbody, sender, **opts): |
|
395 | def _getdescription(repo, defaultbody, sender, **opts): | |
396 | """obtain the body of the introduction message and return it |
|
396 | """obtain the body of the introduction message and return it | |
397 |
|
397 | |||
398 | This is also used for the body of email with an attached bundle. |
|
398 | This is also used for the body of email with an attached bundle. | |
399 |
|
399 | |||
400 | The body can be obtained either from the command line option or entered by |
|
400 | The body can be obtained either from the command line option or entered by | |
401 | the user through the editor. |
|
401 | the user through the editor. | |
402 | """ |
|
402 | """ | |
403 | ui = repo.ui |
|
403 | ui = repo.ui | |
404 | if opts.get('desc'): |
|
404 | if opts.get('desc'): | |
405 | body = open(opts.get('desc')).read() |
|
405 | body = open(opts.get('desc')).read() | |
406 | else: |
|
406 | else: | |
407 | ui.write( |
|
407 | ui.write( | |
408 | _(b'\nWrite the introductory message for the patch series.\n\n') |
|
408 | _(b'\nWrite the introductory message for the patch series.\n\n') | |
409 | ) |
|
409 | ) | |
410 | body = ui.edit( |
|
410 | body = ui.edit( | |
411 | defaultbody, sender, repopath=repo.path, action=b'patchbombbody' |
|
411 | defaultbody, sender, repopath=repo.path, action=b'patchbombbody' | |
412 | ) |
|
412 | ) | |
413 | # Save series description in case sendmail fails |
|
413 | # Save series description in case sendmail fails | |
414 | msgfile = repo.vfs(b'last-email.txt', b'wb') |
|
414 | msgfile = repo.vfs(b'last-email.txt', b'wb') | |
415 | msgfile.write(body) |
|
415 | msgfile.write(body) | |
416 | msgfile.close() |
|
416 | msgfile.close() | |
417 | return body |
|
417 | return body | |
418 |
|
418 | |||
419 |
|
419 | |||
420 | def _getbundlemsgs(repo, sender, bundle, **opts): |
|
420 | def _getbundlemsgs(repo, sender, bundle, **opts): | |
421 | """Get the full email for sending a given bundle |
|
421 | """Get the full email for sending a given bundle | |
422 |
|
422 | |||
423 | This function returns a list of "email" tuples (subject, content, None). |
|
423 | This function returns a list of "email" tuples (subject, content, None). | |
424 | The list is always one message long in that case. |
|
424 | The list is always one message long in that case. | |
425 | """ |
|
425 | """ | |
426 | ui = repo.ui |
|
426 | ui = repo.ui | |
427 | _charsets = mail._charsets(ui) |
|
427 | _charsets = mail._charsets(ui) | |
428 | subj = opts.get('subject') or prompt( |
|
428 | subj = opts.get('subject') or prompt( | |
429 | ui, b'Subject:', b'A bundle for your repository' |
|
429 | ui, b'Subject:', b'A bundle for your repository' | |
430 | ) |
|
430 | ) | |
431 |
|
431 | |||
432 | body = _getdescription(repo, b'', sender, **opts) |
|
432 | body = _getdescription(repo, b'', sender, **opts) | |
433 | msg = emimemultipart.MIMEMultipart() |
|
433 | msg = emimemultipart.MIMEMultipart() | |
434 | if body: |
|
434 | if body: | |
435 | msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test'))) |
|
435 | msg.attach(mail.mimeencode(ui, body, _charsets, opts.get('test'))) | |
436 | datapart = emimebase.MIMEBase('application', 'x-mercurial-bundle') |
|
436 | datapart = emimebase.MIMEBase('application', 'x-mercurial-bundle') | |
437 | datapart.set_payload(bundle) |
|
437 | datapart.set_payload(bundle) | |
438 | bundlename = b'%s.hg' % opts.get('bundlename', b'bundle') |
|
438 | bundlename = b'%s.hg' % opts.get('bundlename', b'bundle') | |
439 | datapart.add_header( |
|
439 | datapart.add_header( | |
440 | 'Content-Disposition', |
|
440 | 'Content-Disposition', | |
441 | 'attachment', |
|
441 | 'attachment', | |
442 | filename=encoding.strfromlocal(bundlename), |
|
442 | filename=encoding.strfromlocal(bundlename), | |
443 | ) |
|
443 | ) | |
444 | emailencoders.encode_base64(datapart) |
|
444 | emailencoders.encode_base64(datapart) | |
445 | msg.attach(datapart) |
|
445 | msg.attach(datapart) | |
446 | msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test')) |
|
446 | msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test')) | |
447 | return [(msg, subj, None)] |
|
447 | return [(msg, subj, None)] | |
448 |
|
448 | |||
449 |
|
449 | |||
450 | def _makeintro(repo, sender, revs, patches, **opts): |
|
450 | def _makeintro(repo, sender, revs, patches, **opts): | |
451 | """make an introduction email, asking the user for content if needed |
|
451 | """make an introduction email, asking the user for content if needed | |
452 |
|
452 | |||
453 | email is returned as (subject, body, cumulative-diffstat)""" |
|
453 | email is returned as (subject, body, cumulative-diffstat)""" | |
454 | ui = repo.ui |
|
454 | ui = repo.ui | |
455 | _charsets = mail._charsets(ui) |
|
455 | _charsets = mail._charsets(ui) | |
456 |
|
456 | |||
457 | # use the last revision which is likely to be a bookmarked head |
|
457 | # use the last revision which is likely to be a bookmarked head | |
458 | prefix = _formatprefix( |
|
458 | prefix = _formatprefix( | |
459 | ui, repo, revs.last(), opts.get('flag'), 0, len(patches), numbered=True |
|
459 | ui, repo, revs.last(), opts.get('flag'), 0, len(patches), numbered=True | |
460 | ) |
|
460 | ) | |
461 | subj = opts.get('subject') or prompt( |
|
461 | subj = opts.get('subject') or prompt( | |
462 | ui, b'(optional) Subject: ', rest=prefix, default=b'' |
|
462 | ui, b'(optional) Subject: ', rest=prefix, default=b'' | |
463 | ) |
|
463 | ) | |
464 | if not subj: |
|
464 | if not subj: | |
465 | return None # skip intro if the user doesn't bother |
|
465 | return None # skip intro if the user doesn't bother | |
466 |
|
466 | |||
467 | subj = prefix + b' ' + subj |
|
467 | subj = prefix + b' ' + subj | |
468 |
|
468 | |||
469 | body = b'' |
|
469 | body = b'' | |
470 | if opts.get('diffstat'): |
|
470 | if opts.get('diffstat'): | |
471 | # generate a cumulative diffstat of the whole patch series |
|
471 | # generate a cumulative diffstat of the whole patch series | |
472 | diffstat = patch.diffstat(sum(patches, [])) |
|
472 | diffstat = patch.diffstat(sum(patches, [])) | |
473 | body = b'\n' + diffstat |
|
473 | body = b'\n' + diffstat | |
474 | else: |
|
474 | else: | |
475 | diffstat = None |
|
475 | diffstat = None | |
476 |
|
476 | |||
477 | body = _getdescription(repo, body, sender, **opts) |
|
477 | body = _getdescription(repo, body, sender, **opts) | |
478 | msg = mail.mimeencode(ui, body, _charsets, opts.get('test')) |
|
478 | msg = mail.mimeencode(ui, body, _charsets, opts.get('test')) | |
479 | msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test')) |
|
479 | msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get('test')) | |
480 | return (msg, subj, diffstat) |
|
480 | return (msg, subj, diffstat) | |
481 |
|
481 | |||
482 |
|
482 | |||
483 | def _getpatchmsgs(repo, sender, revs, patchnames=None, **opts): |
|
483 | def _getpatchmsgs(repo, sender, revs, patchnames=None, **opts): | |
484 | """return a list of emails from a list of patches |
|
484 | """return a list of emails from a list of patches | |
485 |
|
485 | |||
486 | This involves introduction message creation if necessary. |
|
486 | This involves introduction message creation if necessary. | |
487 |
|
487 | |||
488 | This function returns a list of "email" tuples (subject, content, None). |
|
488 | This function returns a list of "email" tuples (subject, content, None). | |
489 | """ |
|
489 | """ | |
490 | bytesopts = pycompat.byteskwargs(opts) |
|
490 | bytesopts = pycompat.byteskwargs(opts) | |
491 | ui = repo.ui |
|
491 | ui = repo.ui | |
492 | _charsets = mail._charsets(ui) |
|
492 | _charsets = mail._charsets(ui) | |
493 | patches = list(_getpatches(repo, revs, **opts)) |
|
493 | patches = list(_getpatches(repo, revs, **opts)) | |
494 | msgs = [] |
|
494 | msgs = [] | |
495 |
|
495 | |||
496 | ui.write(_(b'this patch series consists of %d patches.\n\n') % len(patches)) |
|
496 | ui.write(_(b'this patch series consists of %d patches.\n\n') % len(patches)) | |
497 |
|
497 | |||
498 | # build the intro message, or skip it if the user declines |
|
498 | # build the intro message, or skip it if the user declines | |
499 | if introwanted(ui, bytesopts, len(patches)): |
|
499 | if introwanted(ui, bytesopts, len(patches)): | |
500 | msg = _makeintro(repo, sender, revs, patches, **opts) |
|
500 | msg = _makeintro(repo, sender, revs, patches, **opts) | |
501 | if msg: |
|
501 | if msg: | |
502 | msgs.append(msg) |
|
502 | msgs.append(msg) | |
503 |
|
503 | |||
504 | # are we going to send more than one message? |
|
504 | # are we going to send more than one message? | |
505 | numbered = len(msgs) + len(patches) > 1 |
|
505 | numbered = len(msgs) + len(patches) > 1 | |
506 |
|
506 | |||
507 | # now generate the actual patch messages |
|
507 | # now generate the actual patch messages | |
508 | name = None |
|
508 | name = None | |
509 | assert len(revs) == len(patches) |
|
509 | assert len(revs) == len(patches) | |
510 | for i, (r, p) in enumerate(zip(revs, patches)): |
|
510 | for i, (r, p) in enumerate(zip(revs, patches)): | |
511 | if patchnames: |
|
511 | if patchnames: | |
512 | name = patchnames[i] |
|
512 | name = patchnames[i] | |
513 | msg = makepatch( |
|
513 | msg = makepatch( | |
514 | ui, |
|
514 | ui, | |
515 | repo, |
|
515 | repo, | |
516 | r, |
|
516 | r, | |
517 | p, |
|
517 | p, | |
518 | bytesopts, |
|
518 | bytesopts, | |
519 | _charsets, |
|
519 | _charsets, | |
520 | i + 1, |
|
520 | i + 1, | |
521 | len(patches), |
|
521 | len(patches), | |
522 | numbered, |
|
522 | numbered, | |
523 | name, |
|
523 | name, | |
524 | ) |
|
524 | ) | |
525 | msgs.append(msg) |
|
525 | msgs.append(msg) | |
526 |
|
526 | |||
527 | return msgs |
|
527 | return msgs | |
528 |
|
528 | |||
529 |
|
529 | |||
530 | def _getoutgoing(repo, dest, revs): |
|
530 | def _getoutgoing(repo, dest, revs): | |
531 | '''Return the revisions present locally but not in dest''' |
|
531 | '''Return the revisions present locally but not in dest''' | |
532 | ui = repo.ui |
|
532 | ui = repo.ui | |
533 | url = ui.expandpath(dest or b'default-push', dest or b'default') |
|
533 | paths = urlutil.get_push_paths(repo, ui, [dest]) | |
534 | url = urlutil.parseurl(url)[0] |
|
534 | safe_paths = [urlutil.hidepassword(p.rawloc) for p in paths] | |
535 |
ui.status(_(b'comparing with %s\n') % |
|
535 | ui.status(_(b'comparing with %s\n') % b','.join(safe_paths)) | |
536 |
|
536 | |||
537 | revs = [r for r in revs if r >= 0] |
|
537 | revs = [r for r in revs if r >= 0] | |
538 | if not revs: |
|
538 | if not revs: | |
539 | revs = [repo.changelog.tiprev()] |
|
539 | revs = [repo.changelog.tiprev()] | |
540 | revs = repo.revs(b'outgoing(%s) and ::%ld', dest or b'', revs) |
|
540 | revs = repo.revs(b'outgoing(%s) and ::%ld', dest or b'', revs) | |
541 | if not revs: |
|
541 | if not revs: | |
542 | ui.status(_(b"no changes found\n")) |
|
542 | ui.status(_(b"no changes found\n")) | |
543 | return revs |
|
543 | return revs | |
544 |
|
544 | |||
545 |
|
545 | |||
546 | def _msgid(node, timestamp): |
|
546 | def _msgid(node, timestamp): | |
547 | try: |
|
547 | try: | |
548 | hostname = encoding.strfromlocal(encoding.environ[b'HGHOSTNAME']) |
|
548 | hostname = encoding.strfromlocal(encoding.environ[b'HGHOSTNAME']) | |
549 | except KeyError: |
|
549 | except KeyError: | |
550 | hostname = socket.getfqdn() |
|
550 | hostname = socket.getfqdn() | |
551 | return '<%s.%d@%s>' % (node, timestamp, hostname) |
|
551 | return '<%s.%d@%s>' % (node, timestamp, hostname) | |
552 |
|
552 | |||
553 |
|
553 | |||
554 | emailopts = [ |
|
554 | emailopts = [ | |
555 | (b'', b'body', None, _(b'send patches as inline message text (default)')), |
|
555 | (b'', b'body', None, _(b'send patches as inline message text (default)')), | |
556 | (b'a', b'attach', None, _(b'send patches as attachments')), |
|
556 | (b'a', b'attach', None, _(b'send patches as attachments')), | |
557 | (b'i', b'inline', None, _(b'send patches as inline attachments')), |
|
557 | (b'i', b'inline', None, _(b'send patches as inline attachments')), | |
558 | ( |
|
558 | ( | |
559 | b'', |
|
559 | b'', | |
560 | b'bcc', |
|
560 | b'bcc', | |
561 | [], |
|
561 | [], | |
562 | _(b'email addresses of blind carbon copy recipients'), |
|
562 | _(b'email addresses of blind carbon copy recipients'), | |
563 | _(b'EMAIL'), |
|
563 | _(b'EMAIL'), | |
564 | ), |
|
564 | ), | |
565 | (b'c', b'cc', [], _(b'email addresses of copy recipients'), _(b'EMAIL')), |
|
565 | (b'c', b'cc', [], _(b'email addresses of copy recipients'), _(b'EMAIL')), | |
566 | (b'', b'confirm', None, _(b'ask for confirmation before sending')), |
|
566 | (b'', b'confirm', None, _(b'ask for confirmation before sending')), | |
567 | (b'd', b'diffstat', None, _(b'add diffstat output to messages')), |
|
567 | (b'd', b'diffstat', None, _(b'add diffstat output to messages')), | |
568 | ( |
|
568 | ( | |
569 | b'', |
|
569 | b'', | |
570 | b'date', |
|
570 | b'date', | |
571 | b'', |
|
571 | b'', | |
572 | _(b'use the given date as the sending date'), |
|
572 | _(b'use the given date as the sending date'), | |
573 | _(b'DATE'), |
|
573 | _(b'DATE'), | |
574 | ), |
|
574 | ), | |
575 | ( |
|
575 | ( | |
576 | b'', |
|
576 | b'', | |
577 | b'desc', |
|
577 | b'desc', | |
578 | b'', |
|
578 | b'', | |
579 | _(b'use the given file as the series description'), |
|
579 | _(b'use the given file as the series description'), | |
580 | _(b'FILE'), |
|
580 | _(b'FILE'), | |
581 | ), |
|
581 | ), | |
582 | (b'f', b'from', b'', _(b'email address of sender'), _(b'EMAIL')), |
|
582 | (b'f', b'from', b'', _(b'email address of sender'), _(b'EMAIL')), | |
583 | (b'n', b'test', None, _(b'print messages that would be sent')), |
|
583 | (b'n', b'test', None, _(b'print messages that would be sent')), | |
584 | ( |
|
584 | ( | |
585 | b'm', |
|
585 | b'm', | |
586 | b'mbox', |
|
586 | b'mbox', | |
587 | b'', |
|
587 | b'', | |
588 | _(b'write messages to mbox file instead of sending them'), |
|
588 | _(b'write messages to mbox file instead of sending them'), | |
589 | _(b'FILE'), |
|
589 | _(b'FILE'), | |
590 | ), |
|
590 | ), | |
591 | ( |
|
591 | ( | |
592 | b'', |
|
592 | b'', | |
593 | b'reply-to', |
|
593 | b'reply-to', | |
594 | [], |
|
594 | [], | |
595 | _(b'email addresses replies should be sent to'), |
|
595 | _(b'email addresses replies should be sent to'), | |
596 | _(b'EMAIL'), |
|
596 | _(b'EMAIL'), | |
597 | ), |
|
597 | ), | |
598 | ( |
|
598 | ( | |
599 | b's', |
|
599 | b's', | |
600 | b'subject', |
|
600 | b'subject', | |
601 | b'', |
|
601 | b'', | |
602 | _(b'subject of first message (intro or single patch)'), |
|
602 | _(b'subject of first message (intro or single patch)'), | |
603 | _(b'TEXT'), |
|
603 | _(b'TEXT'), | |
604 | ), |
|
604 | ), | |
605 | ( |
|
605 | ( | |
606 | b'', |
|
606 | b'', | |
607 | b'in-reply-to', |
|
607 | b'in-reply-to', | |
608 | b'', |
|
608 | b'', | |
609 | _(b'message identifier to reply to'), |
|
609 | _(b'message identifier to reply to'), | |
610 | _(b'MSGID'), |
|
610 | _(b'MSGID'), | |
611 | ), |
|
611 | ), | |
612 | (b'', b'flag', [], _(b'flags to add in subject prefixes'), _(b'FLAG')), |
|
612 | (b'', b'flag', [], _(b'flags to add in subject prefixes'), _(b'FLAG')), | |
613 | (b't', b'to', [], _(b'email addresses of recipients'), _(b'EMAIL')), |
|
613 | (b't', b'to', [], _(b'email addresses of recipients'), _(b'EMAIL')), | |
614 | ] |
|
614 | ] | |
615 |
|
615 | |||
616 |
|
616 | |||
617 | @command( |
|
617 | @command( | |
618 | b'email', |
|
618 | b'email', | |
619 | [ |
|
619 | [ | |
620 | (b'g', b'git', None, _(b'use git extended diff format')), |
|
620 | (b'g', b'git', None, _(b'use git extended diff format')), | |
621 | (b'', b'plain', None, _(b'omit hg patch header')), |
|
621 | (b'', b'plain', None, _(b'omit hg patch header')), | |
622 | ( |
|
622 | ( | |
623 | b'o', |
|
623 | b'o', | |
624 | b'outgoing', |
|
624 | b'outgoing', | |
625 | None, |
|
625 | None, | |
626 | _(b'send changes not found in the target repository'), |
|
626 | _(b'send changes not found in the target repository'), | |
627 | ), |
|
627 | ), | |
628 | ( |
|
628 | ( | |
629 | b'b', |
|
629 | b'b', | |
630 | b'bundle', |
|
630 | b'bundle', | |
631 | None, |
|
631 | None, | |
632 | _(b'send changes not in target as a binary bundle'), |
|
632 | _(b'send changes not in target as a binary bundle'), | |
633 | ), |
|
633 | ), | |
634 | ( |
|
634 | ( | |
635 | b'B', |
|
635 | b'B', | |
636 | b'bookmark', |
|
636 | b'bookmark', | |
637 | b'', |
|
637 | b'', | |
638 | _(b'send changes only reachable by given bookmark'), |
|
638 | _(b'send changes only reachable by given bookmark'), | |
639 | _(b'BOOKMARK'), |
|
639 | _(b'BOOKMARK'), | |
640 | ), |
|
640 | ), | |
641 | ( |
|
641 | ( | |
642 | b'', |
|
642 | b'', | |
643 | b'bundlename', |
|
643 | b'bundlename', | |
644 | b'bundle', |
|
644 | b'bundle', | |
645 | _(b'name of the bundle attachment file'), |
|
645 | _(b'name of the bundle attachment file'), | |
646 | _(b'NAME'), |
|
646 | _(b'NAME'), | |
647 | ), |
|
647 | ), | |
648 | (b'r', b'rev', [], _(b'a revision to send'), _(b'REV')), |
|
648 | (b'r', b'rev', [], _(b'a revision to send'), _(b'REV')), | |
649 | ( |
|
649 | ( | |
650 | b'', |
|
650 | b'', | |
651 | b'force', |
|
651 | b'force', | |
652 | None, |
|
652 | None, | |
653 | _( |
|
653 | _( | |
654 | b'run even when remote repository is unrelated ' |
|
654 | b'run even when remote repository is unrelated ' | |
655 | b'(with -b/--bundle)' |
|
655 | b'(with -b/--bundle)' | |
656 | ), |
|
656 | ), | |
657 | ), |
|
657 | ), | |
658 | ( |
|
658 | ( | |
659 | b'', |
|
659 | b'', | |
660 | b'base', |
|
660 | b'base', | |
661 | [], |
|
661 | [], | |
662 | _( |
|
662 | _( | |
663 | b'a base changeset to specify instead of a destination ' |
|
663 | b'a base changeset to specify instead of a destination ' | |
664 | b'(with -b/--bundle)' |
|
664 | b'(with -b/--bundle)' | |
665 | ), |
|
665 | ), | |
666 | _(b'REV'), |
|
666 | _(b'REV'), | |
667 | ), |
|
667 | ), | |
668 | ( |
|
668 | ( | |
669 | b'', |
|
669 | b'', | |
670 | b'intro', |
|
670 | b'intro', | |
671 | None, |
|
671 | None, | |
672 | _(b'send an introduction email for a single patch'), |
|
672 | _(b'send an introduction email for a single patch'), | |
673 | ), |
|
673 | ), | |
674 | ] |
|
674 | ] | |
675 | + emailopts |
|
675 | + emailopts | |
676 | + cmdutil.remoteopts, |
|
676 | + cmdutil.remoteopts, | |
677 | _(b'hg email [OPTION]... [DEST]...'), |
|
677 | _(b'hg email [OPTION]... [DEST]...'), | |
678 | helpcategory=command.CATEGORY_IMPORT_EXPORT, |
|
678 | helpcategory=command.CATEGORY_IMPORT_EXPORT, | |
679 | ) |
|
679 | ) | |
680 | def email(ui, repo, *revs, **opts): |
|
680 | def email(ui, repo, *revs, **opts): | |
681 | """send changesets by email |
|
681 | """send changesets by email | |
682 |
|
682 | |||
683 | By default, diffs are sent in the format generated by |
|
683 | By default, diffs are sent in the format generated by | |
684 | :hg:`export`, one per message. The series starts with a "[PATCH 0 |
|
684 | :hg:`export`, one per message. The series starts with a "[PATCH 0 | |
685 | of N]" introduction, which describes the series as a whole. |
|
685 | of N]" introduction, which describes the series as a whole. | |
686 |
|
686 | |||
687 | Each patch email has a Subject line of "[PATCH M of N] ...", using |
|
687 | Each patch email has a Subject line of "[PATCH M of N] ...", using | |
688 | the first line of the changeset description as the subject text. |
|
688 | the first line of the changeset description as the subject text. | |
689 | The message contains two or three parts. First, the changeset |
|
689 | The message contains two or three parts. First, the changeset | |
690 | description. |
|
690 | description. | |
691 |
|
691 | |||
692 | With the -d/--diffstat option, if the diffstat program is |
|
692 | With the -d/--diffstat option, if the diffstat program is | |
693 | installed, the result of running diffstat on the patch is inserted. |
|
693 | installed, the result of running diffstat on the patch is inserted. | |
694 |
|
694 | |||
695 | Finally, the patch itself, as generated by :hg:`export`. |
|
695 | Finally, the patch itself, as generated by :hg:`export`. | |
696 |
|
696 | |||
697 | With the -d/--diffstat or --confirm options, you will be presented |
|
697 | With the -d/--diffstat or --confirm options, you will be presented | |
698 | with a final summary of all messages and asked for confirmation before |
|
698 | with a final summary of all messages and asked for confirmation before | |
699 | the messages are sent. |
|
699 | the messages are sent. | |
700 |
|
700 | |||
701 | By default the patch is included as text in the email body for |
|
701 | By default the patch is included as text in the email body for | |
702 | easy reviewing. Using the -a/--attach option will instead create |
|
702 | easy reviewing. Using the -a/--attach option will instead create | |
703 | an attachment for the patch. With -i/--inline an inline attachment |
|
703 | an attachment for the patch. With -i/--inline an inline attachment | |
704 | will be created. You can include a patch both as text in the email |
|
704 | will be created. You can include a patch both as text in the email | |
705 | body and as a regular or an inline attachment by combining the |
|
705 | body and as a regular or an inline attachment by combining the | |
706 | -a/--attach or -i/--inline with the --body option. |
|
706 | -a/--attach or -i/--inline with the --body option. | |
707 |
|
707 | |||
708 | With -B/--bookmark changesets reachable by the given bookmark are |
|
708 | With -B/--bookmark changesets reachable by the given bookmark are | |
709 | selected. |
|
709 | selected. | |
710 |
|
710 | |||
711 | With -o/--outgoing, emails will be generated for patches not found |
|
711 | With -o/--outgoing, emails will be generated for patches not found | |
712 | in the destination repository (or only those which are ancestors |
|
712 | in the destination repository (or only those which are ancestors | |
713 | of the specified revisions if any are provided) |
|
713 | of the specified revisions if any are provided) | |
714 |
|
714 | |||
715 | With -b/--bundle, changesets are selected as for --outgoing, but a |
|
715 | With -b/--bundle, changesets are selected as for --outgoing, but a | |
716 | single email containing a binary Mercurial bundle as an attachment |
|
716 | single email containing a binary Mercurial bundle as an attachment | |
717 | will be sent. Use the ``patchbomb.bundletype`` config option to |
|
717 | will be sent. Use the ``patchbomb.bundletype`` config option to | |
718 | control the bundle type as with :hg:`bundle --type`. |
|
718 | control the bundle type as with :hg:`bundle --type`. | |
719 |
|
719 | |||
720 | With -m/--mbox, instead of previewing each patchbomb message in a |
|
720 | With -m/--mbox, instead of previewing each patchbomb message in a | |
721 | pager or sending the messages directly, it will create a UNIX |
|
721 | pager or sending the messages directly, it will create a UNIX | |
722 | mailbox file with the patch emails. This mailbox file can be |
|
722 | mailbox file with the patch emails. This mailbox file can be | |
723 | previewed with any mail user agent which supports UNIX mbox |
|
723 | previewed with any mail user agent which supports UNIX mbox | |
724 | files. |
|
724 | files. | |
725 |
|
725 | |||
726 | With -n/--test, all steps will run, but mail will not be sent. |
|
726 | With -n/--test, all steps will run, but mail will not be sent. | |
727 | You will be prompted for an email recipient address, a subject and |
|
727 | You will be prompted for an email recipient address, a subject and | |
728 | an introductory message describing the patches of your patchbomb. |
|
728 | an introductory message describing the patches of your patchbomb. | |
729 | Then when all is done, patchbomb messages are displayed. |
|
729 | Then when all is done, patchbomb messages are displayed. | |
730 |
|
730 | |||
731 | In case email sending fails, you will find a backup of your series |
|
731 | In case email sending fails, you will find a backup of your series | |
732 | introductory message in ``.hg/last-email.txt``. |
|
732 | introductory message in ``.hg/last-email.txt``. | |
733 |
|
733 | |||
734 | The default behavior of this command can be customized through |
|
734 | The default behavior of this command can be customized through | |
735 | configuration. (See :hg:`help patchbomb` for details) |
|
735 | configuration. (See :hg:`help patchbomb` for details) | |
736 |
|
736 | |||
737 | Examples:: |
|
737 | Examples:: | |
738 |
|
738 | |||
739 | hg email -r 3000 # send patch 3000 only |
|
739 | hg email -r 3000 # send patch 3000 only | |
740 | hg email -r 3000 -r 3001 # send patches 3000 and 3001 |
|
740 | hg email -r 3000 -r 3001 # send patches 3000 and 3001 | |
741 | hg email -r 3000:3005 # send patches 3000 through 3005 |
|
741 | hg email -r 3000:3005 # send patches 3000 through 3005 | |
742 | hg email 3000 # send patch 3000 (deprecated) |
|
742 | hg email 3000 # send patch 3000 (deprecated) | |
743 |
|
743 | |||
744 | hg email -o # send all patches not in default |
|
744 | hg email -o # send all patches not in default | |
745 | hg email -o DEST # send all patches not in DEST |
|
745 | hg email -o DEST # send all patches not in DEST | |
746 | hg email -o -r 3000 # send all ancestors of 3000 not in default |
|
746 | hg email -o -r 3000 # send all ancestors of 3000 not in default | |
747 | hg email -o -r 3000 DEST # send all ancestors of 3000 not in DEST |
|
747 | hg email -o -r 3000 DEST # send all ancestors of 3000 not in DEST | |
748 |
|
748 | |||
749 | hg email -B feature # send all ancestors of feature bookmark |
|
749 | hg email -B feature # send all ancestors of feature bookmark | |
750 |
|
750 | |||
751 | hg email -b # send bundle of all patches not in default |
|
751 | hg email -b # send bundle of all patches not in default | |
752 | hg email -b DEST # send bundle of all patches not in DEST |
|
752 | hg email -b DEST # send bundle of all patches not in DEST | |
753 | hg email -b -r 3000 # bundle of all ancestors of 3000 not in default |
|
753 | hg email -b -r 3000 # bundle of all ancestors of 3000 not in default | |
754 | hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST |
|
754 | hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST | |
755 |
|
755 | |||
756 | hg email -o -m mbox && # generate an mbox file... |
|
756 | hg email -o -m mbox && # generate an mbox file... | |
757 | mutt -R -f mbox # ... and view it with mutt |
|
757 | mutt -R -f mbox # ... and view it with mutt | |
758 | hg email -o -m mbox && # generate an mbox file ... |
|
758 | hg email -o -m mbox && # generate an mbox file ... | |
759 | formail -s sendmail \\ # ... and use formail to send from the mbox |
|
759 | formail -s sendmail \\ # ... and use formail to send from the mbox | |
760 | -bm -t < mbox # ... using sendmail |
|
760 | -bm -t < mbox # ... using sendmail | |
761 |
|
761 | |||
762 | Before using this command, you will need to enable email in your |
|
762 | Before using this command, you will need to enable email in your | |
763 | hgrc. See the [email] section in hgrc(5) for details. |
|
763 | hgrc. See the [email] section in hgrc(5) for details. | |
764 | """ |
|
764 | """ | |
765 | opts = pycompat.byteskwargs(opts) |
|
765 | opts = pycompat.byteskwargs(opts) | |
766 |
|
766 | |||
767 | _charsets = mail._charsets(ui) |
|
767 | _charsets = mail._charsets(ui) | |
768 |
|
768 | |||
769 | bundle = opts.get(b'bundle') |
|
769 | bundle = opts.get(b'bundle') | |
770 | date = opts.get(b'date') |
|
770 | date = opts.get(b'date') | |
771 | mbox = opts.get(b'mbox') |
|
771 | mbox = opts.get(b'mbox') | |
772 | outgoing = opts.get(b'outgoing') |
|
772 | outgoing = opts.get(b'outgoing') | |
773 | rev = opts.get(b'rev') |
|
773 | rev = opts.get(b'rev') | |
774 | bookmark = opts.get(b'bookmark') |
|
774 | bookmark = opts.get(b'bookmark') | |
775 |
|
775 | |||
776 | if not (opts.get(b'test') or mbox): |
|
776 | if not (opts.get(b'test') or mbox): | |
777 | # really sending |
|
777 | # really sending | |
778 | mail.validateconfig(ui) |
|
778 | mail.validateconfig(ui) | |
779 |
|
779 | |||
780 | if not (revs or rev or outgoing or bundle or bookmark): |
|
780 | if not (revs or rev or outgoing or bundle or bookmark): | |
781 | raise error.Abort( |
|
781 | raise error.Abort( | |
782 | _(b'specify at least one changeset with -B, -r or -o') |
|
782 | _(b'specify at least one changeset with -B, -r or -o') | |
783 | ) |
|
783 | ) | |
784 |
|
784 | |||
785 | if outgoing and bundle: |
|
785 | if outgoing and bundle: | |
786 | raise error.Abort( |
|
786 | raise error.Abort( | |
787 | _( |
|
787 | _( | |
788 | b"--outgoing mode always on with --bundle;" |
|
788 | b"--outgoing mode always on with --bundle;" | |
789 | b" do not re-specify --outgoing" |
|
789 | b" do not re-specify --outgoing" | |
790 | ) |
|
790 | ) | |
791 | ) |
|
791 | ) | |
792 | cmdutil.check_at_most_one_arg(opts, b'rev', b'bookmark') |
|
792 | cmdutil.check_at_most_one_arg(opts, b'rev', b'bookmark') | |
793 |
|
793 | |||
794 | if outgoing or bundle: |
|
794 | if outgoing or bundle: | |
795 | if len(revs) > 1: |
|
795 | if len(revs) > 1: | |
796 | raise error.Abort(_(b"too many destinations")) |
|
796 | raise error.Abort(_(b"too many destinations")) | |
797 | if revs: |
|
797 | if revs: | |
798 | dest = revs[0] |
|
798 | dest = revs[0] | |
799 | else: |
|
799 | else: | |
800 | dest = None |
|
800 | dest = None | |
801 | revs = [] |
|
801 | revs = [] | |
802 |
|
802 | |||
803 | if rev: |
|
803 | if rev: | |
804 | if revs: |
|
804 | if revs: | |
805 | raise error.Abort(_(b'use only one form to specify the revision')) |
|
805 | raise error.Abort(_(b'use only one form to specify the revision')) | |
806 | revs = rev |
|
806 | revs = rev | |
807 | elif bookmark: |
|
807 | elif bookmark: | |
808 | if bookmark not in repo._bookmarks: |
|
808 | if bookmark not in repo._bookmarks: | |
809 | raise error.Abort(_(b"bookmark '%s' not found") % bookmark) |
|
809 | raise error.Abort(_(b"bookmark '%s' not found") % bookmark) | |
810 | revs = scmutil.bookmarkrevs(repo, bookmark) |
|
810 | revs = scmutil.bookmarkrevs(repo, bookmark) | |
811 |
|
811 | |||
812 | revs = scmutil.revrange(repo, revs) |
|
812 | revs = scmutil.revrange(repo, revs) | |
813 | if outgoing: |
|
813 | if outgoing: | |
814 | revs = _getoutgoing(repo, dest, revs) |
|
814 | revs = _getoutgoing(repo, dest, revs) | |
815 | if bundle: |
|
815 | if bundle: | |
816 | opts[b'revs'] = [b"%d" % r for r in revs] |
|
816 | opts[b'revs'] = [b"%d" % r for r in revs] | |
817 |
|
817 | |||
818 | # check if revision exist on the public destination |
|
818 | # check if revision exist on the public destination | |
819 | publicurl = repo.ui.config(b'patchbomb', b'publicurl') |
|
819 | publicurl = repo.ui.config(b'patchbomb', b'publicurl') | |
820 | if publicurl: |
|
820 | if publicurl: | |
821 | repo.ui.debug(b'checking that revision exist in the public repo\n') |
|
821 | repo.ui.debug(b'checking that revision exist in the public repo\n') | |
822 | try: |
|
822 | try: | |
823 | publicpeer = hg.peer(repo, {}, publicurl) |
|
823 | publicpeer = hg.peer(repo, {}, publicurl) | |
824 | except error.RepoError: |
|
824 | except error.RepoError: | |
825 | repo.ui.write_err( |
|
825 | repo.ui.write_err( | |
826 | _(b'unable to access public repo: %s\n') % publicurl |
|
826 | _(b'unable to access public repo: %s\n') % publicurl | |
827 | ) |
|
827 | ) | |
828 | raise |
|
828 | raise | |
829 | if not publicpeer.capable(b'known'): |
|
829 | if not publicpeer.capable(b'known'): | |
830 | repo.ui.debug(b'skipping existence checks: public repo too old\n') |
|
830 | repo.ui.debug(b'skipping existence checks: public repo too old\n') | |
831 | else: |
|
831 | else: | |
832 | out = [repo[r] for r in revs] |
|
832 | out = [repo[r] for r in revs] | |
833 | known = publicpeer.known(h.node() for h in out) |
|
833 | known = publicpeer.known(h.node() for h in out) | |
834 | missing = [] |
|
834 | missing = [] | |
835 | for idx, h in enumerate(out): |
|
835 | for idx, h in enumerate(out): | |
836 | if not known[idx]: |
|
836 | if not known[idx]: | |
837 | missing.append(h) |
|
837 | missing.append(h) | |
838 | if missing: |
|
838 | if missing: | |
839 | if len(missing) > 1: |
|
839 | if len(missing) > 1: | |
840 | msg = _(b'public "%s" is missing %s and %i others') |
|
840 | msg = _(b'public "%s" is missing %s and %i others') | |
841 | msg %= (publicurl, missing[0], len(missing) - 1) |
|
841 | msg %= (publicurl, missing[0], len(missing) - 1) | |
842 | else: |
|
842 | else: | |
843 | msg = _(b'public url %s is missing %s') |
|
843 | msg = _(b'public url %s is missing %s') | |
844 | msg %= (publicurl, missing[0]) |
|
844 | msg %= (publicurl, missing[0]) | |
845 | missingrevs = [ctx.rev() for ctx in missing] |
|
845 | missingrevs = [ctx.rev() for ctx in missing] | |
846 | revhint = b' '.join( |
|
846 | revhint = b' '.join( | |
847 | b'-r %s' % h for h in repo.set(b'heads(%ld)', missingrevs) |
|
847 | b'-r %s' % h for h in repo.set(b'heads(%ld)', missingrevs) | |
848 | ) |
|
848 | ) | |
849 | hint = _(b"use 'hg push %s %s'") % (publicurl, revhint) |
|
849 | hint = _(b"use 'hg push %s %s'") % (publicurl, revhint) | |
850 | raise error.Abort(msg, hint=hint) |
|
850 | raise error.Abort(msg, hint=hint) | |
851 |
|
851 | |||
852 | # start |
|
852 | # start | |
853 | if date: |
|
853 | if date: | |
854 | start_time = dateutil.parsedate(date) |
|
854 | start_time = dateutil.parsedate(date) | |
855 | else: |
|
855 | else: | |
856 | start_time = dateutil.makedate() |
|
856 | start_time = dateutil.makedate() | |
857 |
|
857 | |||
858 | def genmsgid(id): |
|
858 | def genmsgid(id): | |
859 | return _msgid(id[:20], int(start_time[0])) |
|
859 | return _msgid(id[:20], int(start_time[0])) | |
860 |
|
860 | |||
861 | # deprecated config: patchbomb.from |
|
861 | # deprecated config: patchbomb.from | |
862 | sender = ( |
|
862 | sender = ( | |
863 | opts.get(b'from') |
|
863 | opts.get(b'from') | |
864 | or ui.config(b'email', b'from') |
|
864 | or ui.config(b'email', b'from') | |
865 | or ui.config(b'patchbomb', b'from') |
|
865 | or ui.config(b'patchbomb', b'from') | |
866 | or prompt(ui, b'From', ui.username()) |
|
866 | or prompt(ui, b'From', ui.username()) | |
867 | ) |
|
867 | ) | |
868 |
|
868 | |||
869 | if bundle: |
|
869 | if bundle: | |
870 | stropts = pycompat.strkwargs(opts) |
|
870 | stropts = pycompat.strkwargs(opts) | |
871 | bundledata = _getbundle(repo, dest, **stropts) |
|
871 | bundledata = _getbundle(repo, dest, **stropts) | |
872 | bundleopts = stropts.copy() |
|
872 | bundleopts = stropts.copy() | |
873 | bundleopts.pop('bundle', None) # already processed |
|
873 | bundleopts.pop('bundle', None) # already processed | |
874 | msgs = _getbundlemsgs(repo, sender, bundledata, **bundleopts) |
|
874 | msgs = _getbundlemsgs(repo, sender, bundledata, **bundleopts) | |
875 | else: |
|
875 | else: | |
876 | msgs = _getpatchmsgs(repo, sender, revs, **pycompat.strkwargs(opts)) |
|
876 | msgs = _getpatchmsgs(repo, sender, revs, **pycompat.strkwargs(opts)) | |
877 |
|
877 | |||
878 | showaddrs = [] |
|
878 | showaddrs = [] | |
879 |
|
879 | |||
880 | def getaddrs(header, ask=False, default=None): |
|
880 | def getaddrs(header, ask=False, default=None): | |
881 | configkey = header.lower() |
|
881 | configkey = header.lower() | |
882 | opt = header.replace(b'-', b'_').lower() |
|
882 | opt = header.replace(b'-', b'_').lower() | |
883 | addrs = opts.get(opt) |
|
883 | addrs = opts.get(opt) | |
884 | if addrs: |
|
884 | if addrs: | |
885 | showaddrs.append(b'%s: %s' % (header, b', '.join(addrs))) |
|
885 | showaddrs.append(b'%s: %s' % (header, b', '.join(addrs))) | |
886 | return mail.addrlistencode(ui, addrs, _charsets, opts.get(b'test')) |
|
886 | return mail.addrlistencode(ui, addrs, _charsets, opts.get(b'test')) | |
887 |
|
887 | |||
888 | # not on the command line: fallback to config and then maybe ask |
|
888 | # not on the command line: fallback to config and then maybe ask | |
889 | addr = ui.config(b'email', configkey) or ui.config( |
|
889 | addr = ui.config(b'email', configkey) or ui.config( | |
890 | b'patchbomb', configkey |
|
890 | b'patchbomb', configkey | |
891 | ) |
|
891 | ) | |
892 | if not addr: |
|
892 | if not addr: | |
893 | specified = ui.hasconfig(b'email', configkey) or ui.hasconfig( |
|
893 | specified = ui.hasconfig(b'email', configkey) or ui.hasconfig( | |
894 | b'patchbomb', configkey |
|
894 | b'patchbomb', configkey | |
895 | ) |
|
895 | ) | |
896 | if not specified and ask: |
|
896 | if not specified and ask: | |
897 | addr = prompt(ui, header, default=default) |
|
897 | addr = prompt(ui, header, default=default) | |
898 | if addr: |
|
898 | if addr: | |
899 | showaddrs.append(b'%s: %s' % (header, addr)) |
|
899 | showaddrs.append(b'%s: %s' % (header, addr)) | |
900 | return mail.addrlistencode(ui, [addr], _charsets, opts.get(b'test')) |
|
900 | return mail.addrlistencode(ui, [addr], _charsets, opts.get(b'test')) | |
901 | elif default: |
|
901 | elif default: | |
902 | return mail.addrlistencode( |
|
902 | return mail.addrlistencode( | |
903 | ui, [default], _charsets, opts.get(b'test') |
|
903 | ui, [default], _charsets, opts.get(b'test') | |
904 | ) |
|
904 | ) | |
905 | return [] |
|
905 | return [] | |
906 |
|
906 | |||
907 | to = getaddrs(b'To', ask=True) |
|
907 | to = getaddrs(b'To', ask=True) | |
908 | if not to: |
|
908 | if not to: | |
909 | # we can get here in non-interactive mode |
|
909 | # we can get here in non-interactive mode | |
910 | raise error.Abort(_(b'no recipient addresses provided')) |
|
910 | raise error.Abort(_(b'no recipient addresses provided')) | |
911 | cc = getaddrs(b'Cc', ask=True, default=b'') |
|
911 | cc = getaddrs(b'Cc', ask=True, default=b'') | |
912 | bcc = getaddrs(b'Bcc') |
|
912 | bcc = getaddrs(b'Bcc') | |
913 | replyto = getaddrs(b'Reply-To') |
|
913 | replyto = getaddrs(b'Reply-To') | |
914 |
|
914 | |||
915 | confirm = ui.configbool(b'patchbomb', b'confirm') |
|
915 | confirm = ui.configbool(b'patchbomb', b'confirm') | |
916 | confirm |= bool(opts.get(b'diffstat') or opts.get(b'confirm')) |
|
916 | confirm |= bool(opts.get(b'diffstat') or opts.get(b'confirm')) | |
917 |
|
917 | |||
918 | if confirm: |
|
918 | if confirm: | |
919 | ui.write(_(b'\nFinal summary:\n\n'), label=b'patchbomb.finalsummary') |
|
919 | ui.write(_(b'\nFinal summary:\n\n'), label=b'patchbomb.finalsummary') | |
920 | ui.write((b'From: %s\n' % sender), label=b'patchbomb.from') |
|
920 | ui.write((b'From: %s\n' % sender), label=b'patchbomb.from') | |
921 | for addr in showaddrs: |
|
921 | for addr in showaddrs: | |
922 | ui.write(b'%s\n' % addr, label=b'patchbomb.to') |
|
922 | ui.write(b'%s\n' % addr, label=b'patchbomb.to') | |
923 | for m, subj, ds in msgs: |
|
923 | for m, subj, ds in msgs: | |
924 | ui.write((b'Subject: %s\n' % subj), label=b'patchbomb.subject') |
|
924 | ui.write((b'Subject: %s\n' % subj), label=b'patchbomb.subject') | |
925 | if ds: |
|
925 | if ds: | |
926 | ui.write(ds, label=b'patchbomb.diffstats') |
|
926 | ui.write(ds, label=b'patchbomb.diffstats') | |
927 | ui.write(b'\n') |
|
927 | ui.write(b'\n') | |
928 | if ui.promptchoice( |
|
928 | if ui.promptchoice( | |
929 | _(b'are you sure you want to send (yn)?$$ &Yes $$ &No') |
|
929 | _(b'are you sure you want to send (yn)?$$ &Yes $$ &No') | |
930 | ): |
|
930 | ): | |
931 | raise error.Abort(_(b'patchbomb canceled')) |
|
931 | raise error.Abort(_(b'patchbomb canceled')) | |
932 |
|
932 | |||
933 | ui.write(b'\n') |
|
933 | ui.write(b'\n') | |
934 |
|
934 | |||
935 | parent = opts.get(b'in_reply_to') or None |
|
935 | parent = opts.get(b'in_reply_to') or None | |
936 | # angle brackets may be omitted, they're not semantically part of the msg-id |
|
936 | # angle brackets may be omitted, they're not semantically part of the msg-id | |
937 | if parent is not None: |
|
937 | if parent is not None: | |
938 | parent = encoding.strfromlocal(parent) |
|
938 | parent = encoding.strfromlocal(parent) | |
939 | if not parent.startswith('<'): |
|
939 | if not parent.startswith('<'): | |
940 | parent = '<' + parent |
|
940 | parent = '<' + parent | |
941 | if not parent.endswith('>'): |
|
941 | if not parent.endswith('>'): | |
942 | parent += '>' |
|
942 | parent += '>' | |
943 |
|
943 | |||
944 | sender_addr = eutil.parseaddr(encoding.strfromlocal(sender))[1] |
|
944 | sender_addr = eutil.parseaddr(encoding.strfromlocal(sender))[1] | |
945 | sender = mail.addressencode(ui, sender, _charsets, opts.get(b'test')) |
|
945 | sender = mail.addressencode(ui, sender, _charsets, opts.get(b'test')) | |
946 | sendmail = None |
|
946 | sendmail = None | |
947 | firstpatch = None |
|
947 | firstpatch = None | |
948 | progress = ui.makeprogress( |
|
948 | progress = ui.makeprogress( | |
949 | _(b'sending'), unit=_(b'emails'), total=len(msgs) |
|
949 | _(b'sending'), unit=_(b'emails'), total=len(msgs) | |
950 | ) |
|
950 | ) | |
951 | for i, (m, subj, ds) in enumerate(msgs): |
|
951 | for i, (m, subj, ds) in enumerate(msgs): | |
952 | try: |
|
952 | try: | |
953 | m['Message-Id'] = genmsgid(m['X-Mercurial-Node']) |
|
953 | m['Message-Id'] = genmsgid(m['X-Mercurial-Node']) | |
954 | if not firstpatch: |
|
954 | if not firstpatch: | |
955 | firstpatch = m['Message-Id'] |
|
955 | firstpatch = m['Message-Id'] | |
956 | m['X-Mercurial-Series-Id'] = firstpatch |
|
956 | m['X-Mercurial-Series-Id'] = firstpatch | |
957 | except TypeError: |
|
957 | except TypeError: | |
958 | m['Message-Id'] = genmsgid('patchbomb') |
|
958 | m['Message-Id'] = genmsgid('patchbomb') | |
959 | if parent: |
|
959 | if parent: | |
960 | m['In-Reply-To'] = parent |
|
960 | m['In-Reply-To'] = parent | |
961 | m['References'] = parent |
|
961 | m['References'] = parent | |
962 | if not parent or 'X-Mercurial-Node' not in m: |
|
962 | if not parent or 'X-Mercurial-Node' not in m: | |
963 | parent = m['Message-Id'] |
|
963 | parent = m['Message-Id'] | |
964 |
|
964 | |||
965 | m['User-Agent'] = 'Mercurial-patchbomb/%s' % util.version().decode() |
|
965 | m['User-Agent'] = 'Mercurial-patchbomb/%s' % util.version().decode() | |
966 | m['Date'] = eutil.formatdate(start_time[0], localtime=True) |
|
966 | m['Date'] = eutil.formatdate(start_time[0], localtime=True) | |
967 |
|
967 | |||
968 | start_time = (start_time[0] + 1, start_time[1]) |
|
968 | start_time = (start_time[0] + 1, start_time[1]) | |
969 | m['From'] = sender |
|
969 | m['From'] = sender | |
970 | m['To'] = ', '.join(to) |
|
970 | m['To'] = ', '.join(to) | |
971 | if cc: |
|
971 | if cc: | |
972 | m['Cc'] = ', '.join(cc) |
|
972 | m['Cc'] = ', '.join(cc) | |
973 | if bcc: |
|
973 | if bcc: | |
974 | m['Bcc'] = ', '.join(bcc) |
|
974 | m['Bcc'] = ', '.join(bcc) | |
975 | if replyto: |
|
975 | if replyto: | |
976 | m['Reply-To'] = ', '.join(replyto) |
|
976 | m['Reply-To'] = ', '.join(replyto) | |
977 | if opts.get(b'test'): |
|
977 | if opts.get(b'test'): | |
978 | ui.status(_(b'displaying '), subj, b' ...\n') |
|
978 | ui.status(_(b'displaying '), subj, b' ...\n') | |
979 | ui.pager(b'email') |
|
979 | ui.pager(b'email') | |
980 | generator = mail.Generator(ui, mangle_from_=False) |
|
980 | generator = mail.Generator(ui, mangle_from_=False) | |
981 | try: |
|
981 | try: | |
982 | generator.flatten(m, False) |
|
982 | generator.flatten(m, False) | |
983 | ui.write(b'\n') |
|
983 | ui.write(b'\n') | |
984 | except IOError as inst: |
|
984 | except IOError as inst: | |
985 | if inst.errno != errno.EPIPE: |
|
985 | if inst.errno != errno.EPIPE: | |
986 | raise |
|
986 | raise | |
987 | else: |
|
987 | else: | |
988 | if not sendmail: |
|
988 | if not sendmail: | |
989 | sendmail = mail.connect(ui, mbox=mbox) |
|
989 | sendmail = mail.connect(ui, mbox=mbox) | |
990 | ui.status(_(b'sending '), subj, b' ...\n') |
|
990 | ui.status(_(b'sending '), subj, b' ...\n') | |
991 | progress.update(i, item=subj) |
|
991 | progress.update(i, item=subj) | |
992 | if not mbox: |
|
992 | if not mbox: | |
993 | # Exim does not remove the Bcc field |
|
993 | # Exim does not remove the Bcc field | |
994 | del m['Bcc'] |
|
994 | del m['Bcc'] | |
995 | fp = stringio() |
|
995 | fp = stringio() | |
996 | generator = mail.Generator(fp, mangle_from_=False) |
|
996 | generator = mail.Generator(fp, mangle_from_=False) | |
997 | generator.flatten(m, False) |
|
997 | generator.flatten(m, False) | |
998 | alldests = to + bcc + cc |
|
998 | alldests = to + bcc + cc | |
999 | sendmail(sender_addr, alldests, fp.getvalue()) |
|
999 | sendmail(sender_addr, alldests, fp.getvalue()) | |
1000 |
|
1000 | |||
1001 | progress.complete() |
|
1001 | progress.complete() |
@@ -1,3129 +1,3129 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 | Mercurial-patchbomb/.* -> Mercurial-patchbomb/* (glob) |
|
5 | Mercurial-patchbomb/.* -> Mercurial-patchbomb/* (glob) | |
6 | /mixed; boundary="===+[0-9]+==" -> /mixed; boundary="===*== (glob)" |
|
6 | /mixed; boundary="===+[0-9]+==" -> /mixed; boundary="===*== (glob)" | |
7 | --===+[0-9]+=+--$ -> --===*=-- (glob) |
|
7 | --===+[0-9]+=+--$ -> --===*=-- (glob) | |
8 | --===+[0-9]+=+$ -> --===*= (glob) |
|
8 | --===+[0-9]+=+$ -> --===*= (glob) | |
9 |
|
9 | |||
10 | $ cat > prune-blank-after-boundary.py <<EOF |
|
10 | $ cat > prune-blank-after-boundary.py <<EOF | |
11 | > from __future__ import absolute_import, print_function |
|
11 | > from __future__ import absolute_import, print_function | |
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, end='') |
|
18 | > print(l, end='') | |
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, end='') |
|
23 | > print(l, end='') | |
24 | > EOF |
|
24 | > EOF | |
25 | $ filterboundary() { |
|
25 | $ filterboundary() { | |
26 | > "$PYTHON" "$TESTTMP/prune-blank-after-boundary.py" |
|
26 | > "$PYTHON" "$TESTTMP/prune-blank-after-boundary.py" | |
27 | > } |
|
27 | > } | |
28 | $ echo "[extensions]" >> $HGRCPATH |
|
28 | $ echo "[extensions]" >> $HGRCPATH | |
29 | $ echo "patchbomb=" >> $HGRCPATH |
|
29 | $ echo "patchbomb=" >> $HGRCPATH | |
30 |
|
30 | |||
31 | $ hg init t |
|
31 | $ hg init t | |
32 | $ cd t |
|
32 | $ cd t | |
33 | $ echo a > a |
|
33 | $ echo a > a | |
34 | $ hg commit -Ama -d '1 0' |
|
34 | $ hg commit -Ama -d '1 0' | |
35 | adding a |
|
35 | adding a | |
36 |
|
36 | |||
37 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip |
|
37 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip | |
38 | this patch series consists of 1 patches. |
|
38 | this patch series consists of 1 patches. | |
39 |
|
39 | |||
40 |
|
40 | |||
41 | displaying [PATCH] a ... |
|
41 | displaying [PATCH] a ... | |
42 | MIME-Version: 1.0 |
|
42 | MIME-Version: 1.0 | |
43 | Content-Type: text/plain; charset="us-ascii" |
|
43 | Content-Type: text/plain; charset="us-ascii" | |
44 | Content-Transfer-Encoding: 7bit |
|
44 | Content-Transfer-Encoding: 7bit | |
45 | Subject: [PATCH] a |
|
45 | Subject: [PATCH] a | |
46 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
46 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
47 | X-Mercurial-Series-Index: 1 |
|
47 | X-Mercurial-Series-Index: 1 | |
48 | X-Mercurial-Series-Total: 1 |
|
48 | X-Mercurial-Series-Total: 1 | |
49 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
49 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> | |
50 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
50 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> | |
51 | User-Agent: Mercurial-patchbomb/* (glob) |
|
51 | User-Agent: Mercurial-patchbomb/* (glob) | |
52 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
52 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
53 | From: quux |
|
53 | From: quux | |
54 | To: foo |
|
54 | To: foo | |
55 | Cc: bar |
|
55 | Cc: bar | |
56 |
|
56 | |||
57 | # HG changeset patch |
|
57 | # HG changeset patch | |
58 | # User test |
|
58 | # User test | |
59 | # Date 1 0 |
|
59 | # Date 1 0 | |
60 | # Thu Jan 01 00:00:01 1970 +0000 |
|
60 | # Thu Jan 01 00:00:01 1970 +0000 | |
61 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
61 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
62 | # Parent 0000000000000000000000000000000000000000 |
|
62 | # Parent 0000000000000000000000000000000000000000 | |
63 | a |
|
63 | a | |
64 |
|
64 | |||
65 | diff -r 000000000000 -r 8580ff50825a a |
|
65 | diff -r 000000000000 -r 8580ff50825a a | |
66 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
66 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
67 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
67 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
68 | @@ -0,0 +1,1 @@ |
|
68 | @@ -0,0 +1,1 @@ | |
69 | +a |
|
69 | +a | |
70 |
|
70 | |||
71 |
|
71 | |||
72 | If --to is specified on the command line, it should override any |
|
72 | If --to is specified on the command line, it should override any | |
73 | email.to config setting. Same for --cc: |
|
73 | email.to config setting. Same for --cc: | |
74 |
|
74 | |||
75 | $ hg email --date '1970-1-1 0:1' -n -f quux --to foo --cc bar -r tip \ |
|
75 | $ hg email --date '1970-1-1 0:1' -n -f quux --to foo --cc bar -r tip \ | |
76 | > --config email.to=bob@example.com --config email.cc=alice@example.com |
|
76 | > --config email.to=bob@example.com --config email.cc=alice@example.com | |
77 | this patch series consists of 1 patches. |
|
77 | this patch series consists of 1 patches. | |
78 |
|
78 | |||
79 |
|
79 | |||
80 | displaying [PATCH] a ... |
|
80 | displaying [PATCH] a ... | |
81 | MIME-Version: 1.0 |
|
81 | MIME-Version: 1.0 | |
82 | Content-Type: text/plain; charset="us-ascii" |
|
82 | Content-Type: text/plain; charset="us-ascii" | |
83 | Content-Transfer-Encoding: 7bit |
|
83 | Content-Transfer-Encoding: 7bit | |
84 | Subject: [PATCH] a |
|
84 | Subject: [PATCH] a | |
85 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
85 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
86 | X-Mercurial-Series-Index: 1 |
|
86 | X-Mercurial-Series-Index: 1 | |
87 | X-Mercurial-Series-Total: 1 |
|
87 | X-Mercurial-Series-Total: 1 | |
88 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
88 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> | |
89 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
89 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> | |
90 | User-Agent: Mercurial-patchbomb/* (glob) |
|
90 | User-Agent: Mercurial-patchbomb/* (glob) | |
91 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
91 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
92 | From: quux |
|
92 | From: quux | |
93 | To: foo |
|
93 | To: foo | |
94 | Cc: bar |
|
94 | Cc: bar | |
95 |
|
95 | |||
96 | # HG changeset patch |
|
96 | # HG changeset patch | |
97 | # User test |
|
97 | # User test | |
98 | # Date 1 0 |
|
98 | # Date 1 0 | |
99 | # Thu Jan 01 00:00:01 1970 +0000 |
|
99 | # Thu Jan 01 00:00:01 1970 +0000 | |
100 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
100 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
101 | # Parent 0000000000000000000000000000000000000000 |
|
101 | # Parent 0000000000000000000000000000000000000000 | |
102 | a |
|
102 | a | |
103 |
|
103 | |||
104 | diff -r 000000000000 -r 8580ff50825a a |
|
104 | diff -r 000000000000 -r 8580ff50825a a | |
105 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
105 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
106 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
106 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
107 | @@ -0,0 +1,1 @@ |
|
107 | @@ -0,0 +1,1 @@ | |
108 | +a |
|
108 | +a | |
109 |
|
109 | |||
110 |
|
110 | |||
111 | $ hg --config ui.interactive=1 email --confirm -n -f quux -t foo -c bar -r tip<<EOF |
|
111 | $ hg --config ui.interactive=1 email --confirm -n -f quux -t foo -c bar -r tip<<EOF | |
112 | > n |
|
112 | > n | |
113 | > EOF |
|
113 | > EOF | |
114 | this patch series consists of 1 patches. |
|
114 | this patch series consists of 1 patches. | |
115 |
|
115 | |||
116 |
|
116 | |||
117 | Final summary: |
|
117 | Final summary: | |
118 |
|
118 | |||
119 | From: quux |
|
119 | From: quux | |
120 | To: foo |
|
120 | To: foo | |
121 | Cc: bar |
|
121 | Cc: bar | |
122 | Subject: [PATCH] a |
|
122 | Subject: [PATCH] a | |
123 | a | 1 + |
|
123 | a | 1 + | |
124 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
124 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
125 |
|
125 | |||
126 | are you sure you want to send (yn)? n |
|
126 | are you sure you want to send (yn)? n | |
127 | abort: patchbomb canceled |
|
127 | abort: patchbomb canceled | |
128 | [255] |
|
128 | [255] | |
129 |
|
129 | |||
130 | $ hg --config ui.interactive=1 --config patchbomb.confirm=true email -n -f quux -t foo -c bar -r tip<<EOF |
|
130 | $ hg --config ui.interactive=1 --config patchbomb.confirm=true email -n -f quux -t foo -c bar -r tip<<EOF | |
131 | > n |
|
131 | > n | |
132 | > EOF |
|
132 | > EOF | |
133 | this patch series consists of 1 patches. |
|
133 | this patch series consists of 1 patches. | |
134 |
|
134 | |||
135 |
|
135 | |||
136 | Final summary: |
|
136 | Final summary: | |
137 |
|
137 | |||
138 | From: quux |
|
138 | From: quux | |
139 | To: foo |
|
139 | To: foo | |
140 | Cc: bar |
|
140 | Cc: bar | |
141 | Subject: [PATCH] a |
|
141 | Subject: [PATCH] a | |
142 | a | 1 + |
|
142 | a | 1 + | |
143 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
143 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
144 |
|
144 | |||
145 | are you sure you want to send (yn)? n |
|
145 | are you sure you want to send (yn)? n | |
146 | abort: patchbomb canceled |
|
146 | abort: patchbomb canceled | |
147 | [255] |
|
147 | [255] | |
148 |
|
148 | |||
149 |
|
149 | |||
150 | Test diff.git is respected |
|
150 | Test diff.git is respected | |
151 | $ hg --config diff.git=True email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip |
|
151 | $ hg --config diff.git=True email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip | |
152 | this patch series consists of 1 patches. |
|
152 | this patch series consists of 1 patches. | |
153 |
|
153 | |||
154 |
|
154 | |||
155 | displaying [PATCH] a ... |
|
155 | displaying [PATCH] a ... | |
156 | MIME-Version: 1.0 |
|
156 | MIME-Version: 1.0 | |
157 | Content-Type: text/plain; charset="us-ascii" |
|
157 | Content-Type: text/plain; charset="us-ascii" | |
158 | Content-Transfer-Encoding: 7bit |
|
158 | Content-Transfer-Encoding: 7bit | |
159 | Subject: [PATCH] a |
|
159 | Subject: [PATCH] a | |
160 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
160 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
161 | X-Mercurial-Series-Index: 1 |
|
161 | X-Mercurial-Series-Index: 1 | |
162 | X-Mercurial-Series-Total: 1 |
|
162 | X-Mercurial-Series-Total: 1 | |
163 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
163 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> | |
164 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
164 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> | |
165 | User-Agent: Mercurial-patchbomb/* (glob) |
|
165 | User-Agent: Mercurial-patchbomb/* (glob) | |
166 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
166 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
167 | From: quux |
|
167 | From: quux | |
168 | To: foo |
|
168 | To: foo | |
169 | Cc: bar |
|
169 | Cc: bar | |
170 |
|
170 | |||
171 | # HG changeset patch |
|
171 | # HG changeset patch | |
172 | # User test |
|
172 | # User test | |
173 | # Date 1 0 |
|
173 | # Date 1 0 | |
174 | # Thu Jan 01 00:00:01 1970 +0000 |
|
174 | # Thu Jan 01 00:00:01 1970 +0000 | |
175 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
175 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
176 | # Parent 0000000000000000000000000000000000000000 |
|
176 | # Parent 0000000000000000000000000000000000000000 | |
177 | a |
|
177 | a | |
178 |
|
178 | |||
179 | diff --git a/a b/a |
|
179 | diff --git a/a b/a | |
180 | new file mode 100644 |
|
180 | new file mode 100644 | |
181 | --- /dev/null |
|
181 | --- /dev/null | |
182 | +++ b/a |
|
182 | +++ b/a | |
183 | @@ -0,0 +1,1 @@ |
|
183 | @@ -0,0 +1,1 @@ | |
184 | +a |
|
184 | +a | |
185 |
|
185 | |||
186 |
|
186 | |||
187 |
|
187 | |||
188 | Test breaking format changes aren't |
|
188 | Test breaking format changes aren't | |
189 | $ hg --config diff.noprefix=True email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip |
|
189 | $ hg --config diff.noprefix=True email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -r tip | |
190 | this patch series consists of 1 patches. |
|
190 | this patch series consists of 1 patches. | |
191 |
|
191 | |||
192 |
|
192 | |||
193 | displaying [PATCH] a ... |
|
193 | displaying [PATCH] a ... | |
194 | MIME-Version: 1.0 |
|
194 | MIME-Version: 1.0 | |
195 | Content-Type: text/plain; charset="us-ascii" |
|
195 | Content-Type: text/plain; charset="us-ascii" | |
196 | Content-Transfer-Encoding: 7bit |
|
196 | Content-Transfer-Encoding: 7bit | |
197 | Subject: [PATCH] a |
|
197 | Subject: [PATCH] a | |
198 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
198 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
199 | X-Mercurial-Series-Index: 1 |
|
199 | X-Mercurial-Series-Index: 1 | |
200 | X-Mercurial-Series-Total: 1 |
|
200 | X-Mercurial-Series-Total: 1 | |
201 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
201 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> | |
202 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
202 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> | |
203 | User-Agent: Mercurial-patchbomb/* (glob) |
|
203 | User-Agent: Mercurial-patchbomb/* (glob) | |
204 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
204 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
205 | From: quux |
|
205 | From: quux | |
206 | To: foo |
|
206 | To: foo | |
207 | Cc: bar |
|
207 | Cc: bar | |
208 |
|
208 | |||
209 | # HG changeset patch |
|
209 | # HG changeset patch | |
210 | # User test |
|
210 | # User test | |
211 | # Date 1 0 |
|
211 | # Date 1 0 | |
212 | # Thu Jan 01 00:00:01 1970 +0000 |
|
212 | # Thu Jan 01 00:00:01 1970 +0000 | |
213 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
213 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
214 | # Parent 0000000000000000000000000000000000000000 |
|
214 | # Parent 0000000000000000000000000000000000000000 | |
215 | a |
|
215 | a | |
216 |
|
216 | |||
217 | diff -r 000000000000 -r 8580ff50825a a |
|
217 | diff -r 000000000000 -r 8580ff50825a a | |
218 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
218 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
219 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
219 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
220 | @@ -0,0 +1,1 @@ |
|
220 | @@ -0,0 +1,1 @@ | |
221 | +a |
|
221 | +a | |
222 |
|
222 | |||
223 |
|
223 | |||
224 | $ echo b > b |
|
224 | $ echo b > b | |
225 | $ hg commit -Amb -d '2 0' |
|
225 | $ hg commit -Amb -d '2 0' | |
226 | adding b |
|
226 | adding b | |
227 |
|
227 | |||
228 | $ hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test -r 0:tip |
|
228 | $ hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test -r 0:tip | |
229 | this patch series consists of 2 patches. |
|
229 | this patch series consists of 2 patches. | |
230 |
|
230 | |||
231 |
|
231 | |||
232 | Write the introductory message for the patch series. |
|
232 | Write the introductory message for the patch series. | |
233 |
|
233 | |||
234 |
|
234 | |||
235 | displaying [PATCH 0 of 2] test ... |
|
235 | displaying [PATCH 0 of 2] test ... | |
236 | MIME-Version: 1.0 |
|
236 | MIME-Version: 1.0 | |
237 | Content-Type: text/plain; charset="us-ascii" |
|
237 | Content-Type: text/plain; charset="us-ascii" | |
238 | Content-Transfer-Encoding: 7bit |
|
238 | Content-Transfer-Encoding: 7bit | |
239 | Subject: [PATCH 0 of 2] test |
|
239 | Subject: [PATCH 0 of 2] test | |
240 | Message-Id: <patchbomb.120@test-hostname> |
|
240 | Message-Id: <patchbomb.120@test-hostname> | |
241 | User-Agent: Mercurial-patchbomb/* (glob) |
|
241 | User-Agent: Mercurial-patchbomb/* (glob) | |
242 | Date: Thu, 01 Jan 1970 00:02:00 +0000 |
|
242 | Date: Thu, 01 Jan 1970 00:02:00 +0000 | |
243 | From: quux |
|
243 | From: quux | |
244 | To: foo |
|
244 | To: foo | |
245 | Cc: bar |
|
245 | Cc: bar | |
246 |
|
246 | |||
247 |
|
247 | |||
248 | displaying [PATCH 1 of 2] a ... |
|
248 | displaying [PATCH 1 of 2] a ... | |
249 | MIME-Version: 1.0 |
|
249 | MIME-Version: 1.0 | |
250 | Content-Type: text/plain; charset="us-ascii" |
|
250 | Content-Type: text/plain; charset="us-ascii" | |
251 | Content-Transfer-Encoding: 7bit |
|
251 | Content-Transfer-Encoding: 7bit | |
252 | Subject: [PATCH 1 of 2] a |
|
252 | Subject: [PATCH 1 of 2] a | |
253 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
253 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
254 | X-Mercurial-Series-Index: 1 |
|
254 | X-Mercurial-Series-Index: 1 | |
255 | X-Mercurial-Series-Total: 2 |
|
255 | X-Mercurial-Series-Total: 2 | |
256 | Message-Id: <8580ff50825a50c8f716.121@test-hostname> |
|
256 | Message-Id: <8580ff50825a50c8f716.121@test-hostname> | |
257 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.121@test-hostname> |
|
257 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.121@test-hostname> | |
258 | In-Reply-To: <patchbomb.120@test-hostname> |
|
258 | In-Reply-To: <patchbomb.120@test-hostname> | |
259 | References: <patchbomb.120@test-hostname> |
|
259 | References: <patchbomb.120@test-hostname> | |
260 | User-Agent: Mercurial-patchbomb/* (glob) |
|
260 | User-Agent: Mercurial-patchbomb/* (glob) | |
261 | Date: Thu, 01 Jan 1970 00:02:01 +0000 |
|
261 | Date: Thu, 01 Jan 1970 00:02:01 +0000 | |
262 | From: quux |
|
262 | From: quux | |
263 | To: foo |
|
263 | To: foo | |
264 | Cc: bar |
|
264 | Cc: bar | |
265 |
|
265 | |||
266 | # HG changeset patch |
|
266 | # HG changeset patch | |
267 | # User test |
|
267 | # User test | |
268 | # Date 1 0 |
|
268 | # Date 1 0 | |
269 | # Thu Jan 01 00:00:01 1970 +0000 |
|
269 | # Thu Jan 01 00:00:01 1970 +0000 | |
270 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
270 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
271 | # Parent 0000000000000000000000000000000000000000 |
|
271 | # Parent 0000000000000000000000000000000000000000 | |
272 | a |
|
272 | a | |
273 |
|
273 | |||
274 | diff -r 000000000000 -r 8580ff50825a a |
|
274 | diff -r 000000000000 -r 8580ff50825a a | |
275 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
275 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
276 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
276 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
277 | @@ -0,0 +1,1 @@ |
|
277 | @@ -0,0 +1,1 @@ | |
278 | +a |
|
278 | +a | |
279 |
|
279 | |||
280 | displaying [PATCH 2 of 2] b ... |
|
280 | displaying [PATCH 2 of 2] b ... | |
281 | MIME-Version: 1.0 |
|
281 | MIME-Version: 1.0 | |
282 | Content-Type: text/plain; charset="us-ascii" |
|
282 | Content-Type: text/plain; charset="us-ascii" | |
283 | Content-Transfer-Encoding: 7bit |
|
283 | Content-Transfer-Encoding: 7bit | |
284 | Subject: [PATCH 2 of 2] b |
|
284 | Subject: [PATCH 2 of 2] b | |
285 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
285 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
286 | X-Mercurial-Series-Index: 2 |
|
286 | X-Mercurial-Series-Index: 2 | |
287 | X-Mercurial-Series-Total: 2 |
|
287 | X-Mercurial-Series-Total: 2 | |
288 | Message-Id: <97d72e5f12c7e84f8506.122@test-hostname> |
|
288 | Message-Id: <97d72e5f12c7e84f8506.122@test-hostname> | |
289 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.121@test-hostname> |
|
289 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.121@test-hostname> | |
290 | In-Reply-To: <patchbomb.120@test-hostname> |
|
290 | In-Reply-To: <patchbomb.120@test-hostname> | |
291 | References: <patchbomb.120@test-hostname> |
|
291 | References: <patchbomb.120@test-hostname> | |
292 | User-Agent: Mercurial-patchbomb/* (glob) |
|
292 | User-Agent: Mercurial-patchbomb/* (glob) | |
293 | Date: Thu, 01 Jan 1970 00:02:02 +0000 |
|
293 | Date: Thu, 01 Jan 1970 00:02:02 +0000 | |
294 | From: quux |
|
294 | From: quux | |
295 | To: foo |
|
295 | To: foo | |
296 | Cc: bar |
|
296 | Cc: bar | |
297 |
|
297 | |||
298 | # HG changeset patch |
|
298 | # HG changeset patch | |
299 | # User test |
|
299 | # User test | |
300 | # Date 2 0 |
|
300 | # Date 2 0 | |
301 | # Thu Jan 01 00:00:02 1970 +0000 |
|
301 | # Thu Jan 01 00:00:02 1970 +0000 | |
302 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
302 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
303 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
303 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
304 | b |
|
304 | b | |
305 |
|
305 | |||
306 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
306 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
307 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
307 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
308 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
308 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
309 | @@ -0,0 +1,1 @@ |
|
309 | @@ -0,0 +1,1 @@ | |
310 | +b |
|
310 | +b | |
311 |
|
311 | |||
312 |
|
312 | |||
313 | .hg/last-email.txt |
|
313 | .hg/last-email.txt | |
314 |
|
314 | |||
315 | $ cat > editor.sh << '__EOF__' |
|
315 | $ cat > editor.sh << '__EOF__' | |
316 | > echo "a precious introductory message" > "$1" |
|
316 | > echo "a precious introductory message" > "$1" | |
317 | > __EOF__ |
|
317 | > __EOF__ | |
318 | $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg email -n -t foo -s test -r 0:tip > /dev/null |
|
318 | $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg email -n -t foo -s test -r 0:tip > /dev/null | |
319 | $ cat .hg/last-email.txt |
|
319 | $ cat .hg/last-email.txt | |
320 | a precious introductory message |
|
320 | a precious introductory message | |
321 |
|
321 | |||
322 | $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \ |
|
322 | $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \ | |
323 | > --config extensions.progress= --config progress.assume-tty=1 \ |
|
323 | > --config extensions.progress= --config progress.assume-tty=1 \ | |
324 | > --config progress.delay=0 --config progress.refresh=0 \ |
|
324 | > --config progress.delay=0 --config progress.refresh=0 \ | |
325 | > --config progress.width=60 \ |
|
325 | > --config progress.width=60 \ | |
326 | > --config extensions.mocktime=$TESTDIR/mocktime.py |
|
326 | > --config extensions.mocktime=$TESTDIR/mocktime.py | |
327 | this patch series consists of 2 patches. |
|
327 | this patch series consists of 2 patches. | |
328 |
|
328 | |||
329 |
|
329 | |||
330 | Write the introductory message for the patch series. |
|
330 | Write the introductory message for the patch series. | |
331 |
|
331 | |||
332 | \r (no-eol) (esc) |
|
332 | \r (no-eol) (esc) | |
333 | sending [ ] 0/3\r (no-eol) (esc) |
|
333 | sending [ ] 0/3\r (no-eol) (esc) | |
334 | \r (no-eol) (esc) |
|
334 | \r (no-eol) (esc) | |
335 | \r (no-eol) (esc) |
|
335 | \r (no-eol) (esc) | |
336 | sending [============> ] 1/3 01s\r (no-eol) (esc) |
|
336 | sending [============> ] 1/3 01s\r (no-eol) (esc) | |
337 | \r (no-eol) (esc) |
|
337 | \r (no-eol) (esc) | |
338 | \r (no-eol) (esc) |
|
338 | \r (no-eol) (esc) | |
339 | sending [==========================> ] 2/3 01s\r (no-eol) (esc) |
|
339 | sending [==========================> ] 2/3 01s\r (no-eol) (esc) | |
340 | \r (esc) |
|
340 | \r (esc) | |
341 | sending [PATCH 0 of 2] test ... |
|
341 | sending [PATCH 0 of 2] test ... | |
342 | sending [PATCH 1 of 2] a ... |
|
342 | sending [PATCH 1 of 2] a ... | |
343 | sending [PATCH 2 of 2] b ... |
|
343 | sending [PATCH 2 of 2] b ... | |
344 |
|
344 | |||
345 | $ cd .. |
|
345 | $ cd .. | |
346 |
|
346 | |||
347 | $ hg clone -q t t2 |
|
347 | $ hg clone -q t t2 | |
348 | $ cd t2 |
|
348 | $ cd t2 | |
349 | $ echo c > c |
|
349 | $ echo c > c | |
350 | $ hg commit -Amc -d '3 0' |
|
350 | $ hg commit -Amc -d '3 0' | |
351 | adding c |
|
351 | adding c | |
352 |
|
352 | |||
353 | $ cat > description <<EOF |
|
353 | $ cat > description <<EOF | |
354 | > a multiline |
|
354 | > a multiline | |
355 | > |
|
355 | > | |
356 | > description |
|
356 | > description | |
357 | > EOF |
|
357 | > EOF | |
358 |
|
358 | |||
359 |
|
359 | |||
360 | test bundle and description: |
|
360 | test bundle and description: | |
361 | $ hg email --date '1970-1-1 0:3' -n -f quux -t foo \ |
|
361 | $ hg email --date '1970-1-1 0:3' -n -f quux -t foo \ | |
362 | > -c bar -s test -r tip -b --desc description | filterboundary |
|
362 | > -c bar -s test -r tip -b --desc description | filterboundary | |
363 | searching for changes |
|
363 | searching for changes | |
364 | 1 changesets found |
|
364 | 1 changesets found | |
365 |
|
365 | |||
366 | displaying test ... |
|
366 | displaying test ... | |
367 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
367 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
368 | MIME-Version: 1.0 |
|
368 | MIME-Version: 1.0 | |
369 | Subject: test |
|
369 | Subject: test | |
370 | Message-Id: <patchbomb.180@test-hostname> |
|
370 | Message-Id: <patchbomb.180@test-hostname> | |
371 | User-Agent: Mercurial-patchbomb/* (glob) |
|
371 | User-Agent: Mercurial-patchbomb/* (glob) | |
372 | Date: Thu, 01 Jan 1970 00:03:00 +0000 |
|
372 | Date: Thu, 01 Jan 1970 00:03:00 +0000 | |
373 | From: quux |
|
373 | From: quux | |
374 | To: foo |
|
374 | To: foo | |
375 | Cc: bar |
|
375 | Cc: bar | |
376 |
|
376 | |||
377 | --===*= (glob) |
|
377 | --===*= (glob) | |
378 | MIME-Version: 1.0 |
|
378 | MIME-Version: 1.0 | |
379 | Content-Type: text/plain; charset="us-ascii" |
|
379 | Content-Type: text/plain; charset="us-ascii" | |
380 | Content-Transfer-Encoding: 7bit |
|
380 | Content-Transfer-Encoding: 7bit | |
381 |
|
381 | |||
382 | a multiline |
|
382 | a multiline | |
383 |
|
383 | |||
384 | description |
|
384 | description | |
385 |
|
385 | |||
386 | --===*= (glob) |
|
386 | --===*= (glob) | |
387 | Content-Type: application/x-mercurial-bundle |
|
387 | Content-Type: application/x-mercurial-bundle | |
388 | MIME-Version: 1.0 |
|
388 | MIME-Version: 1.0 | |
389 | Content-Disposition: attachment; filename="bundle.hg" |
|
389 | Content-Disposition: attachment; filename="bundle.hg" | |
390 | Content-Transfer-Encoding: base64 |
|
390 | Content-Transfer-Encoding: base64 | |
391 |
|
391 | |||
392 | SEcyMAAAAA5Db21wcmVzc2lvbj1CWkJaaDkxQVkmU1l91TAVAAAN////vFcSXL9/8H7R09C/578I |
|
392 | SEcyMAAAAA5Db21wcmVzc2lvbj1CWkJaaDkxQVkmU1l91TAVAAAN////vFcSXL9/8H7R09C/578I | |
393 | Ak0E4pe4SIIIgQSgGEQOcLABGYYNKgJgmhpp6mmjIZMCZNMhpgBBpkaYJpo9QaZMg02iaY2lCImK |
|
393 | Ak0E4pe4SIIIgQSgGEQOcLABGYYNKgJgmhpp6mmjIZMCZNMhpgBBpkaYJpo9QaZMg02iaY2lCImK | |
394 | emk02kmEAeoA0D01ANBoHqHqADTaj1NAAyZqA0Gg0KiYnqaepk0eoNDTCGj1A0eoyBoGjRkYBqAB |
|
394 | emk02kmEAeoA0D01ANBoHqHqADTaj1NAAyZqA0Gg0KiYnqaepk0eoNDTCGj1A0eoyBoGjRkYBqAB | |
395 | poNMmhkBhENSP0knlYZbqyEIYxkFdpDUS6roBDMgAGhkAqd92kEcgyeMo2MM366gpLNHjfKrhJPN |
|
395 | poNMmhkBhENSP0knlYZbqyEIYxkFdpDUS6roBDMgAGhkAqd92kEcgyeMo2MM366gpLNHjfKrhJPN | |
396 | vdBCHAEDsYzAvzkHKxy5KWBAmh5e1nFttGChpsxrgmutRG0YrsSLWEBH9h95cbZEKFeUKYykRXHa |
|
396 | vdBCHAEDsYzAvzkHKxy5KWBAmh5e1nFttGChpsxrgmutRG0YrsSLWEBH9h95cbZEKFeUKYykRXHa | |
397 | Bkt2OSgELsqqnWKeMudBR+YSZCOSHrwPz7B/Gfou7/L6QV6S0IgclBCitBVHMxMFq/vGwp5WHezM |
|
397 | Bkt2OSgELsqqnWKeMudBR+YSZCOSHrwPz7B/Gfou7/L6QV6S0IgclBCitBVHMxMFq/vGwp5WHezM | |
398 | JwhKTnH0OkMbmVjrAkQKR7VM2aNSXn+GzLOCzOQm0AJ1TLCpdSgnfFPcY7mGxAOyHXS1YEFVi5O9 |
|
398 | JwhKTnH0OkMbmVjrAkQKR7VM2aNSXn+GzLOCzOQm0AJ1TLCpdSgnfFPcY7mGxAOyHXS1YEFVi5O9 | |
399 | I4EVBBd8VRgN4n1MAm8l6QQ+yB60hkeX/0ZZmKoQRINkEBxEDZU2HjIZMcwWRvZtbRIa5kgkGIb/ |
|
399 | I4EVBBd8VRgN4n1MAm8l6QQ+yB60hkeX/0ZZmKoQRINkEBxEDZU2HjIZMcwWRvZtbRIa5kgkGIb/ | |
400 | SkImFwIkDtQxyX+LuSKcKEg+6pgKgA== |
|
400 | SkImFwIkDtQxyX+LuSKcKEg+6pgKgA== | |
401 | --===============*==-- (glob) |
|
401 | --===============*==-- (glob) | |
402 |
|
402 | |||
403 | with a specific bundle type |
|
403 | with a specific bundle type | |
404 | (binary part must be different) |
|
404 | (binary part must be different) | |
405 |
|
405 | |||
406 | $ hg email --date '1970-1-1 0:3' -n -f quux -t foo \ |
|
406 | $ hg email --date '1970-1-1 0:3' -n -f quux -t foo \ | |
407 | > -c bar -s test -r tip -b --desc description \ |
|
407 | > -c bar -s test -r tip -b --desc description \ | |
408 | > --config patchbomb.bundletype=gzip-v1 | filterboundary |
|
408 | > --config patchbomb.bundletype=gzip-v1 | filterboundary | |
409 | searching for changes |
|
409 | searching for changes | |
410 | 1 changesets found |
|
410 | 1 changesets found | |
411 |
|
411 | |||
412 | displaying test ... |
|
412 | displaying test ... | |
413 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
413 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
414 | MIME-Version: 1.0 |
|
414 | MIME-Version: 1.0 | |
415 | Subject: test |
|
415 | Subject: test | |
416 | Message-Id: <patchbomb.180@test-hostname> |
|
416 | Message-Id: <patchbomb.180@test-hostname> | |
417 | User-Agent: Mercurial-patchbomb/* (glob) |
|
417 | User-Agent: Mercurial-patchbomb/* (glob) | |
418 | Date: Thu, 01 Jan 1970 00:03:00 +0000 |
|
418 | Date: Thu, 01 Jan 1970 00:03:00 +0000 | |
419 | From: quux |
|
419 | From: quux | |
420 | To: foo |
|
420 | To: foo | |
421 | Cc: bar |
|
421 | Cc: bar | |
422 |
|
422 | |||
423 | --===*= (glob) |
|
423 | --===*= (glob) | |
424 | MIME-Version: 1.0 |
|
424 | MIME-Version: 1.0 | |
425 | Content-Type: text/plain; charset="us-ascii" |
|
425 | Content-Type: text/plain; charset="us-ascii" | |
426 | Content-Transfer-Encoding: 7bit |
|
426 | Content-Transfer-Encoding: 7bit | |
427 |
|
427 | |||
428 | a multiline |
|
428 | a multiline | |
429 |
|
429 | |||
430 | description |
|
430 | description | |
431 |
|
431 | |||
432 | --===*= (glob) |
|
432 | --===*= (glob) | |
433 | Content-Type: application/x-mercurial-bundle |
|
433 | Content-Type: application/x-mercurial-bundle | |
434 | MIME-Version: 1.0 |
|
434 | MIME-Version: 1.0 | |
435 | Content-Disposition: attachment; filename="bundle.hg" |
|
435 | Content-Disposition: attachment; filename="bundle.hg" | |
436 | Content-Transfer-Encoding: base64 |
|
436 | Content-Transfer-Encoding: base64 | |
437 |
|
437 | |||
438 | SEcxMEdaeJxjYGBY8V9n/iLGbtFfJZuNk/euDCpWfrRy/vTrevFCx1/4t7J5LdeL0ix0Opx3kwEL |
|
438 | SEcxMEdaeJxjYGBY8V9n/iLGbtFfJZuNk/euDCpWfrRy/vTrevFCx1/4t7J5LdeL0ix0Opx3kwEL | |
439 | wKYXKqUJwqnG5sYWSWmmJsaWlqYWaRaWJpaWiWamZpYWRgZGxolJiabmSQbmZqlcQMV6QGwCxGzG |
|
439 | wKYXKqUJwqnG5sYWSWmmJsaWlqYWaRaWJpaWiWamZpYWRgZGxolJiabmSQbmZqlcQMV6QGwCxGzG | |
440 | CgZcySARUyA2A2LGZKiZ3Y+Lu786z4z4MWXmsrAZCsqrl1az5y21PMcjpbThzWeXGT+/nutbmvvz |
|
440 | CgZcySARUyA2A2LGZKiZ3Y+Lu786z4z4MWXmsrAZCsqrl1az5y21PMcjpbThzWeXGT+/nutbmvvz | |
441 | zXYS3BoGxdrJDIYmlimJJiZpRokmqYYmaSYWFknmSSkmhqbmliamiZYWxuYmBhbJBgZcUBNZQe5K |
|
441 | zXYS3BoGxdrJDIYmlimJJiZpRokmqYYmaSYWFknmSSkmhqbmliamiZYWxuYmBhbJBgZcUBNZQe5K | |
442 | Epm7xF/LT+RLx/a9juFTomaYO/Rgsx4rwBN+IMCUDLOKAQBrsmti |
|
442 | Epm7xF/LT+RLx/a9juFTomaYO/Rgsx4rwBN+IMCUDLOKAQBrsmti | |
443 | (?) |
|
443 | (?) | |
444 | --===============*==-- (glob) |
|
444 | --===============*==-- (glob) | |
445 |
|
445 | |||
446 | utf-8 patch: |
|
446 | utf-8 patch: | |
447 | $ "$PYTHON" -c 'fp = open("utf", "wb"); fp.write(b"h\xC3\xB6mma!\n"); fp.close();' |
|
447 | $ "$PYTHON" -c 'fp = open("utf", "wb"); fp.write(b"h\xC3\xB6mma!\n"); fp.close();' | |
448 | $ hg commit -A -d '4 0' \ |
|
448 | $ hg commit -A -d '4 0' \ | |
449 | > --encoding "utf-8" \ |
|
449 | > --encoding "utf-8" \ | |
450 | > -m `"$PYTHON" -c 'import sys; getattr(sys.stdout, "buffer", sys.stdout).write(b"\xc3\xa7a")'` |
|
450 | > -m `"$PYTHON" -c 'import sys; getattr(sys.stdout, "buffer", sys.stdout).write(b"\xc3\xa7a")'` | |
451 | adding description |
|
451 | adding description | |
452 | adding utf |
|
452 | adding utf | |
453 |
|
453 | |||
454 | no mime encoding for email --test: |
|
454 | no mime encoding for email --test: | |
455 | $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n |
|
455 | $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | |
456 | this patch series consists of 1 patches. |
|
456 | this patch series consists of 1 patches. | |
457 |
|
457 | |||
458 |
|
458 | |||
459 | displaying [PATCH] ?a ... |
|
459 | displaying [PATCH] ?a ... | |
460 | MIME-Version: 1.0 |
|
460 | MIME-Version: 1.0 | |
461 | Content-Type: text/plain; charset="iso-8859-1" |
|
461 | Content-Type: text/plain; charset="iso-8859-1" | |
462 | Content-Transfer-Encoding: quoted-printable |
|
462 | Content-Transfer-Encoding: quoted-printable | |
463 | Subject: [PATCH] ?a |
|
463 | Subject: [PATCH] ?a | |
464 | X-Mercurial-Node: f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
464 | X-Mercurial-Node: f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
465 | X-Mercurial-Series-Index: 1 |
|
465 | X-Mercurial-Series-Index: 1 | |
466 | X-Mercurial-Series-Total: 1 |
|
466 | X-Mercurial-Series-Total: 1 | |
467 | Message-Id: <f81ef97829467e868fc4.240@test-hostname> |
|
467 | Message-Id: <f81ef97829467e868fc4.240@test-hostname> | |
468 | X-Mercurial-Series-Id: <f81ef97829467e868fc4.240@test-hostname> |
|
468 | X-Mercurial-Series-Id: <f81ef97829467e868fc4.240@test-hostname> | |
469 | User-Agent: Mercurial-patchbomb/* (glob) |
|
469 | User-Agent: Mercurial-patchbomb/* (glob) | |
470 | Date: Thu, 01 Jan 1970 00:04:00 +0000 |
|
470 | Date: Thu, 01 Jan 1970 00:04:00 +0000 | |
471 | From: quux |
|
471 | From: quux | |
472 | To: foo |
|
472 | To: foo | |
473 | Cc: bar |
|
473 | Cc: bar | |
474 |
|
474 | |||
475 | # HG changeset patch |
|
475 | # HG changeset patch | |
476 | # User test |
|
476 | # User test | |
477 | # Date 4 0 |
|
477 | # Date 4 0 | |
478 | # Thu Jan 01 00:00:04 1970 +0000 |
|
478 | # Thu Jan 01 00:00:04 1970 +0000 | |
479 | # Node ID f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
479 | # Node ID f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
480 | # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
480 | # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
481 | ?a |
|
481 | ?a | |
482 |
|
482 | |||
483 | diff -r ff2c9fa2018b -r f81ef9782946 description |
|
483 | diff -r ff2c9fa2018b -r f81ef9782946 description | |
484 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
484 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
485 | +++ b/description Thu Jan 01 00:00:04 1970 +0000 |
|
485 | +++ b/description Thu Jan 01 00:00:04 1970 +0000 | |
486 | @@ -0,0 +1,3 @@ |
|
486 | @@ -0,0 +1,3 @@ | |
487 | +a multiline |
|
487 | +a multiline | |
488 | + |
|
488 | + | |
489 | +description |
|
489 | +description | |
490 | diff -r ff2c9fa2018b -r f81ef9782946 utf |
|
490 | diff -r ff2c9fa2018b -r f81ef9782946 utf | |
491 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
491 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
492 | +++ b/utf Thu Jan 01 00:00:04 1970 +0000 |
|
492 | +++ b/utf Thu Jan 01 00:00:04 1970 +0000 | |
493 | @@ -0,0 +1,1 @@ |
|
493 | @@ -0,0 +1,1 @@ | |
494 | +h=C3=B6mma! |
|
494 | +h=C3=B6mma! | |
495 |
|
495 | |||
496 |
|
496 | |||
497 | mime encoded mbox (base64): |
|
497 | mime encoded mbox (base64): | |
498 | $ hg email --date '1970-1-1 0:4' -f 'Q <quux>' -t foo -c bar -r tip -m mbox |
|
498 | $ hg email --date '1970-1-1 0:4' -f 'Q <quux>' -t foo -c bar -r tip -m mbox | |
499 | this patch series consists of 1 patches. |
|
499 | this patch series consists of 1 patches. | |
500 |
|
500 | |||
501 |
|
501 | |||
502 | sending [PATCH] ?a ... |
|
502 | sending [PATCH] ?a ... | |
503 |
|
503 | |||
504 | $ cat mbox |
|
504 | $ cat mbox | |
505 | From quux ... ... .. ..:..:.. .... (re) |
|
505 | From quux ... ... .. ..:..:.. .... (re) | |
506 | MIME-Version: 1.0 |
|
506 | MIME-Version: 1.0 | |
507 | Content-Type: text/plain; charset="utf-8" |
|
507 | Content-Type: text/plain; charset="utf-8" | |
508 | Content-Transfer-Encoding: base64 |
|
508 | Content-Transfer-Encoding: base64 | |
509 | Subject: [PATCH] ?a |
|
509 | Subject: [PATCH] ?a | |
510 | X-Mercurial-Node: f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
510 | X-Mercurial-Node: f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
511 | X-Mercurial-Series-Index: 1 |
|
511 | X-Mercurial-Series-Index: 1 | |
512 | X-Mercurial-Series-Total: 1 |
|
512 | X-Mercurial-Series-Total: 1 | |
513 | Message-Id: <f81ef97829467e868fc4.240@test-hostname> |
|
513 | Message-Id: <f81ef97829467e868fc4.240@test-hostname> | |
514 | X-Mercurial-Series-Id: <f81ef97829467e868fc4.240@test-hostname> |
|
514 | X-Mercurial-Series-Id: <f81ef97829467e868fc4.240@test-hostname> | |
515 | User-Agent: Mercurial-patchbomb/* (glob) |
|
515 | User-Agent: Mercurial-patchbomb/* (glob) | |
516 | Date: Thu, 01 Jan 1970 00:04:00 +0000 |
|
516 | Date: Thu, 01 Jan 1970 00:04:00 +0000 | |
517 | From: Q <quux> (no-py3 !) |
|
517 | From: Q <quux> (no-py3 !) | |
518 | From: =?iso-8859-1?q?Q?= <quux> (py3 !) |
|
518 | From: =?iso-8859-1?q?Q?= <quux> (py3 !) | |
519 | To: foo |
|
519 | To: foo | |
520 | Cc: bar |
|
520 | Cc: bar | |
521 |
|
521 | |||
522 | IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHRlc3QKIyBEYXRlIDQgMAojICAgICAgVGh1IEph |
|
522 | IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIHRlc3QKIyBEYXRlIDQgMAojICAgICAgVGh1IEph | |
523 | biAwMSAwMDowMDowNCAxOTcwICswMDAwCiMgTm9kZSBJRCBmODFlZjk3ODI5NDY3ZTg2OGZjNDA1 |
|
523 | biAwMSAwMDowMDowNCAxOTcwICswMDAwCiMgTm9kZSBJRCBmODFlZjk3ODI5NDY3ZTg2OGZjNDA1 | |
524 | ZmNjYmNmYTY2MjE3ZTRkM2U2CiMgUGFyZW50ICBmZjJjOWZhMjAxOGIxNWZhNzRiMzMzNjNiZGE5 |
|
524 | ZmNjYmNmYTY2MjE3ZTRkM2U2CiMgUGFyZW50ICBmZjJjOWZhMjAxOGIxNWZhNzRiMzMzNjNiZGE5 | |
525 | NTI3MzIzZTJhOTlmCj9hCgpkaWZmIC1yIGZmMmM5ZmEyMDE4YiAtciBmODFlZjk3ODI5NDYgZGVz |
|
525 | NTI3MzIzZTJhOTlmCj9hCgpkaWZmIC1yIGZmMmM5ZmEyMDE4YiAtciBmODFlZjk3ODI5NDYgZGVz | |
526 | Y3JpcHRpb24KLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysr |
|
526 | Y3JpcHRpb24KLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysr | |
527 | IGIvZGVzY3JpcHRpb24JVGh1IEphbiAwMSAwMDowMDowNCAxOTcwICswMDAwCkBAIC0wLDAgKzEs |
|
527 | IGIvZGVzY3JpcHRpb24JVGh1IEphbiAwMSAwMDowMDowNCAxOTcwICswMDAwCkBAIC0wLDAgKzEs | |
528 | MyBAQAorYSBtdWx0aWxpbmUKKworZGVzY3JpcHRpb24KZGlmZiAtciBmZjJjOWZhMjAxOGIgLXIg |
|
528 | MyBAQAorYSBtdWx0aWxpbmUKKworZGVzY3JpcHRpb24KZGlmZiAtciBmZjJjOWZhMjAxOGIgLXIg | |
529 | ZjgxZWY5NzgyOTQ2IHV0ZgotLS0gL2Rldi9udWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCAr |
|
529 | ZjgxZWY5NzgyOTQ2IHV0ZgotLS0gL2Rldi9udWxsCVRodSBKYW4gMDEgMDA6MDA6MDAgMTk3MCAr | |
530 | MDAwMAorKysgYi91dGYJVGh1IEphbiAwMSAwMDowMDowNCAxOTcwICswMDAwCkBAIC0wLDAgKzEs |
|
530 | MDAwMAorKysgYi91dGYJVGh1IEphbiAwMSAwMDowMDowNCAxOTcwICswMDAwCkBAIC0wLDAgKzEs | |
531 | MSBAQAoraMO2bW1hIQo= |
|
531 | MSBAQAoraMO2bW1hIQo= | |
532 |
|
532 | |||
533 |
|
533 | |||
534 | >>> import base64 |
|
534 | >>> import base64 | |
535 | >>> patch = base64.b64decode(open("mbox").read().split("\n\n")[1]) |
|
535 | >>> patch = base64.b64decode(open("mbox").read().split("\n\n")[1]) | |
536 | >>> if not isinstance(patch, str): |
|
536 | >>> if not isinstance(patch, str): | |
537 | ... import sys |
|
537 | ... import sys | |
538 | ... sys.stdout.flush() |
|
538 | ... sys.stdout.flush() | |
539 | ... junk = sys.stdout.buffer.write(patch + b"\n") |
|
539 | ... junk = sys.stdout.buffer.write(patch + b"\n") | |
540 | ... else: |
|
540 | ... else: | |
541 | ... print(patch) |
|
541 | ... print(patch) | |
542 | # HG changeset patch |
|
542 | # HG changeset patch | |
543 | # User test |
|
543 | # User test | |
544 | # Date 4 0 |
|
544 | # Date 4 0 | |
545 | # Thu Jan 01 00:00:04 1970 +0000 |
|
545 | # Thu Jan 01 00:00:04 1970 +0000 | |
546 | # Node ID f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
546 | # Node ID f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
547 | # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
547 | # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
548 | ?a |
|
548 | ?a | |
549 |
|
549 | |||
550 | diff -r ff2c9fa2018b -r f81ef9782946 description |
|
550 | diff -r ff2c9fa2018b -r f81ef9782946 description | |
551 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
551 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
552 | +++ b/description Thu Jan 01 00:00:04 1970 +0000 |
|
552 | +++ b/description Thu Jan 01 00:00:04 1970 +0000 | |
553 | @@ -0,0 +1,3 @@ |
|
553 | @@ -0,0 +1,3 @@ | |
554 | +a multiline |
|
554 | +a multiline | |
555 | + |
|
555 | + | |
556 | +description |
|
556 | +description | |
557 | diff -r ff2c9fa2018b -r f81ef9782946 utf |
|
557 | diff -r ff2c9fa2018b -r f81ef9782946 utf | |
558 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
558 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
559 | +++ b/utf Thu Jan 01 00:00:04 1970 +0000 |
|
559 | +++ b/utf Thu Jan 01 00:00:04 1970 +0000 | |
560 | @@ -0,0 +1,1 @@ |
|
560 | @@ -0,0 +1,1 @@ | |
561 | +h\xc3\xb6mma! (esc) |
|
561 | +h\xc3\xb6mma! (esc) | |
562 |
|
562 | |||
563 | $ rm mbox |
|
563 | $ rm mbox | |
564 |
|
564 | |||
565 | mime encoded mbox (quoted-printable): |
|
565 | mime encoded mbox (quoted-printable): | |
566 | $ "$PYTHON" -c 'fp = open("long", "wb"); fp.write(b"%s\nfoo\n\nbar\n" % (b"x" * 1024)); fp.close();' |
|
566 | $ "$PYTHON" -c 'fp = open("long", "wb"); fp.write(b"%s\nfoo\n\nbar\n" % (b"x" * 1024)); fp.close();' | |
567 | $ hg commit -A -d '4 0' -m 'long line' |
|
567 | $ hg commit -A -d '4 0' -m 'long line' | |
568 | adding long |
|
568 | adding long | |
569 |
|
569 | |||
570 | no mime encoding for email --test: |
|
570 | no mime encoding for email --test: | |
571 | $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n |
|
571 | $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | |
572 | this patch series consists of 1 patches. |
|
572 | this patch series consists of 1 patches. | |
573 |
|
573 | |||
574 |
|
574 | |||
575 | displaying [PATCH] long line ... |
|
575 | displaying [PATCH] long line ... | |
576 | MIME-Version: 1.0 |
|
576 | MIME-Version: 1.0 | |
577 | Content-Type: text/plain; charset="us-ascii" |
|
577 | Content-Type: text/plain; charset="us-ascii" | |
578 | Content-Transfer-Encoding: quoted-printable |
|
578 | Content-Transfer-Encoding: quoted-printable | |
579 | Subject: [PATCH] long line |
|
579 | Subject: [PATCH] long line | |
580 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
580 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d | |
581 | X-Mercurial-Series-Index: 1 |
|
581 | X-Mercurial-Series-Index: 1 | |
582 | X-Mercurial-Series-Total: 1 |
|
582 | X-Mercurial-Series-Total: 1 | |
583 | Message-Id: <0c7b871cb86b61a1c07e.240@test-hostname> |
|
583 | Message-Id: <0c7b871cb86b61a1c07e.240@test-hostname> | |
584 | X-Mercurial-Series-Id: <0c7b871cb86b61a1c07e.240@test-hostname> |
|
584 | X-Mercurial-Series-Id: <0c7b871cb86b61a1c07e.240@test-hostname> | |
585 | User-Agent: Mercurial-patchbomb/* (glob) |
|
585 | User-Agent: Mercurial-patchbomb/* (glob) | |
586 | Date: Thu, 01 Jan 1970 00:04:00 +0000 |
|
586 | Date: Thu, 01 Jan 1970 00:04:00 +0000 | |
587 | From: quux |
|
587 | From: quux | |
588 | To: foo |
|
588 | To: foo | |
589 | Cc: bar |
|
589 | Cc: bar | |
590 |
|
590 | |||
591 | # HG changeset patch |
|
591 | # HG changeset patch | |
592 | # User test |
|
592 | # User test | |
593 | # Date 4 0 |
|
593 | # Date 4 0 | |
594 | # Thu Jan 01 00:00:04 1970 +0000 |
|
594 | # Thu Jan 01 00:00:04 1970 +0000 | |
595 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
595 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d | |
596 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
596 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
597 | long line |
|
597 | long line | |
598 |
|
598 | |||
599 | diff -r f81ef9782946 -r 0c7b871cb86b long |
|
599 | diff -r f81ef9782946 -r 0c7b871cb86b long | |
600 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
600 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
601 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 |
|
601 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 | |
602 | @@ -0,0 +1,4 @@ |
|
602 | @@ -0,0 +1,4 @@ | |
603 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
603 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
604 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
604 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
605 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
605 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
606 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
606 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
607 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
607 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
608 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
608 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
609 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
609 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
610 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
610 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
611 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
611 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
612 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
612 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
613 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
613 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
614 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
614 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
615 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
615 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
616 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
|
616 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
617 | +foo |
|
617 | +foo | |
618 | + |
|
618 | + | |
619 | +bar |
|
619 | +bar | |
620 |
|
620 | |||
621 |
|
621 | |||
622 | mime encoded mbox (quoted-printable): |
|
622 | mime encoded mbox (quoted-printable): | |
623 | $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox |
|
623 | $ hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox | |
624 | this patch series consists of 1 patches. |
|
624 | this patch series consists of 1 patches. | |
625 |
|
625 | |||
626 |
|
626 | |||
627 | sending [PATCH] long line ... |
|
627 | sending [PATCH] long line ... | |
628 | $ cat mbox |
|
628 | $ cat mbox | |
629 | From quux ... ... .. ..:..:.. .... (re) |
|
629 | From quux ... ... .. ..:..:.. .... (re) | |
630 | MIME-Version: 1.0 |
|
630 | MIME-Version: 1.0 | |
631 | Content-Type: text/plain; charset="us-ascii" |
|
631 | Content-Type: text/plain; charset="us-ascii" | |
632 | Content-Transfer-Encoding: quoted-printable |
|
632 | Content-Transfer-Encoding: quoted-printable | |
633 | Subject: [PATCH] long line |
|
633 | Subject: [PATCH] long line | |
634 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
634 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d | |
635 | X-Mercurial-Series-Index: 1 |
|
635 | X-Mercurial-Series-Index: 1 | |
636 | X-Mercurial-Series-Total: 1 |
|
636 | X-Mercurial-Series-Total: 1 | |
637 | Message-Id: <0c7b871cb86b61a1c07e.240@test-hostname> |
|
637 | Message-Id: <0c7b871cb86b61a1c07e.240@test-hostname> | |
638 | X-Mercurial-Series-Id: <0c7b871cb86b61a1c07e.240@test-hostname> |
|
638 | X-Mercurial-Series-Id: <0c7b871cb86b61a1c07e.240@test-hostname> | |
639 | User-Agent: Mercurial-patchbomb/* (glob) |
|
639 | User-Agent: Mercurial-patchbomb/* (glob) | |
640 | Date: Thu, 01 Jan 1970 00:04:00 +0000 |
|
640 | Date: Thu, 01 Jan 1970 00:04:00 +0000 | |
641 | From: quux |
|
641 | From: quux | |
642 | To: foo |
|
642 | To: foo | |
643 | Cc: bar |
|
643 | Cc: bar | |
644 |
|
644 | |||
645 | # HG changeset patch |
|
645 | # HG changeset patch | |
646 | # User test |
|
646 | # User test | |
647 | # Date 4 0 |
|
647 | # Date 4 0 | |
648 | # Thu Jan 01 00:00:04 1970 +0000 |
|
648 | # Thu Jan 01 00:00:04 1970 +0000 | |
649 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
649 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d | |
650 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
650 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
651 | long line |
|
651 | long line | |
652 |
|
652 | |||
653 | diff -r f81ef9782946 -r 0c7b871cb86b long |
|
653 | diff -r f81ef9782946 -r 0c7b871cb86b long | |
654 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
654 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
655 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 |
|
655 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 | |
656 | @@ -0,0 +1,4 @@ |
|
656 | @@ -0,0 +1,4 @@ | |
657 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
657 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
658 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
658 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
659 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
659 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
660 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
660 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
661 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
661 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
662 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
662 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
663 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
663 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
664 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
664 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
665 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
665 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
666 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
666 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
667 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
667 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
668 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
668 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
669 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
669 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
670 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
|
670 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
671 | +foo |
|
671 | +foo | |
672 | + |
|
672 | + | |
673 | +bar |
|
673 | +bar | |
674 |
|
674 | |||
675 |
|
675 | |||
676 |
|
676 | |||
677 | $ rm mbox |
|
677 | $ rm mbox | |
678 |
|
678 | |||
679 | iso-8859-1 patch: |
|
679 | iso-8859-1 patch: | |
680 | $ "$PYTHON" -c 'fp = open("isolatin", "wb"); fp.write(b"h\xF6mma!\n"); fp.close();' |
|
680 | $ "$PYTHON" -c 'fp = open("isolatin", "wb"); fp.write(b"h\xF6mma!\n"); fp.close();' | |
681 | $ hg commit -A -d '5 0' -m 'isolatin 8-bit encoding' |
|
681 | $ hg commit -A -d '5 0' -m 'isolatin 8-bit encoding' | |
682 | adding isolatin |
|
682 | adding isolatin | |
683 |
|
683 | |||
684 | iso-8859-1 mbox: |
|
684 | iso-8859-1 mbox: | |
685 | $ hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox |
|
685 | $ hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox | |
686 | this patch series consists of 1 patches. |
|
686 | this patch series consists of 1 patches. | |
687 |
|
687 | |||
688 |
|
688 | |||
689 | sending [PATCH] isolatin 8-bit encoding ... |
|
689 | sending [PATCH] isolatin 8-bit encoding ... | |
690 | $ cat mbox |
|
690 | $ cat mbox | |
691 | From quux ... ... .. ..:..:.. .... (re) |
|
691 | From quux ... ... .. ..:..:.. .... (re) | |
692 | MIME-Version: 1.0 |
|
692 | MIME-Version: 1.0 | |
693 | Content-Type: text/plain; charset="iso-8859-1" |
|
693 | Content-Type: text/plain; charset="iso-8859-1" | |
694 | Content-Transfer-Encoding: quoted-printable |
|
694 | Content-Transfer-Encoding: quoted-printable | |
695 | Subject: [PATCH] isolatin 8-bit encoding |
|
695 | Subject: [PATCH] isolatin 8-bit encoding | |
696 | X-Mercurial-Node: 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 |
|
696 | X-Mercurial-Node: 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 | |
697 | X-Mercurial-Series-Index: 1 |
|
697 | X-Mercurial-Series-Index: 1 | |
698 | X-Mercurial-Series-Total: 1 |
|
698 | X-Mercurial-Series-Total: 1 | |
699 | Message-Id: <4d6f44f466c96d89f2e7.300@test-hostname> |
|
699 | Message-Id: <4d6f44f466c96d89f2e7.300@test-hostname> | |
700 | X-Mercurial-Series-Id: <4d6f44f466c96d89f2e7.300@test-hostname> |
|
700 | X-Mercurial-Series-Id: <4d6f44f466c96d89f2e7.300@test-hostname> | |
701 | User-Agent: Mercurial-patchbomb/* (glob) |
|
701 | User-Agent: Mercurial-patchbomb/* (glob) | |
702 | Date: Thu, 01 Jan 1970 00:05:00 +0000 |
|
702 | Date: Thu, 01 Jan 1970 00:05:00 +0000 | |
703 | From: quux |
|
703 | From: quux | |
704 | To: foo |
|
704 | To: foo | |
705 | Cc: bar |
|
705 | Cc: bar | |
706 |
|
706 | |||
707 | # HG changeset patch |
|
707 | # HG changeset patch | |
708 | # User test |
|
708 | # User test | |
709 | # Date 5 0 |
|
709 | # Date 5 0 | |
710 | # Thu Jan 01 00:00:05 1970 +0000 |
|
710 | # Thu Jan 01 00:00:05 1970 +0000 | |
711 | # Node ID 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 |
|
711 | # Node ID 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 | |
712 | # Parent 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
712 | # Parent 0c7b871cb86b61a1c07e244393603c361e4a178d | |
713 | isolatin 8-bit encoding |
|
713 | isolatin 8-bit encoding | |
714 |
|
714 | |||
715 | diff -r 0c7b871cb86b -r 4d6f44f466c9 isolatin |
|
715 | diff -r 0c7b871cb86b -r 4d6f44f466c9 isolatin | |
716 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
716 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
717 | +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000 |
|
717 | +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000 | |
718 | @@ -0,0 +1,1 @@ |
|
718 | @@ -0,0 +1,1 @@ | |
719 | +h=F6mma! |
|
719 | +h=F6mma! | |
720 |
|
720 | |||
721 |
|
721 | |||
722 |
|
722 | |||
723 | test diffstat for single patch: |
|
723 | test diffstat for single patch: | |
724 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y -r 2 |
|
724 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y -r 2 | |
725 | this patch series consists of 1 patches. |
|
725 | this patch series consists of 1 patches. | |
726 |
|
726 | |||
727 |
|
727 | |||
728 | Final summary: |
|
728 | Final summary: | |
729 |
|
729 | |||
730 | From: quux |
|
730 | From: quux | |
731 | To: foo |
|
731 | To: foo | |
732 | Cc: bar |
|
732 | Cc: bar | |
733 | Subject: [PATCH] test |
|
733 | Subject: [PATCH] test | |
734 | c | 1 + |
|
734 | c | 1 + | |
735 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
735 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
736 |
|
736 | |||
737 | are you sure you want to send (yn)? y |
|
737 | are you sure you want to send (yn)? y | |
738 |
|
738 | |||
739 | displaying [PATCH] test ... |
|
739 | displaying [PATCH] test ... | |
740 | MIME-Version: 1.0 |
|
740 | MIME-Version: 1.0 | |
741 | Content-Type: text/plain; charset="us-ascii" |
|
741 | Content-Type: text/plain; charset="us-ascii" | |
742 | Content-Transfer-Encoding: 7bit |
|
742 | Content-Transfer-Encoding: 7bit | |
743 | Subject: [PATCH] test |
|
743 | Subject: [PATCH] test | |
744 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
744 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
745 | X-Mercurial-Series-Index: 1 |
|
745 | X-Mercurial-Series-Index: 1 | |
746 | X-Mercurial-Series-Total: 1 |
|
746 | X-Mercurial-Series-Total: 1 | |
747 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
747 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
748 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
748 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
749 | User-Agent: Mercurial-patchbomb/* (glob) |
|
749 | User-Agent: Mercurial-patchbomb/* (glob) | |
750 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
750 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
751 | From: quux |
|
751 | From: quux | |
752 | To: foo |
|
752 | To: foo | |
753 | Cc: bar |
|
753 | Cc: bar | |
754 |
|
754 | |||
755 | c | 1 + |
|
755 | c | 1 + | |
756 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
756 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
757 |
|
757 | |||
758 |
|
758 | |||
759 | # HG changeset patch |
|
759 | # HG changeset patch | |
760 | # User test |
|
760 | # User test | |
761 | # Date 3 0 |
|
761 | # Date 3 0 | |
762 | # Thu Jan 01 00:00:03 1970 +0000 |
|
762 | # Thu Jan 01 00:00:03 1970 +0000 | |
763 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
763 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
764 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
764 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
765 | c |
|
765 | c | |
766 |
|
766 | |||
767 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
767 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
768 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
768 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
769 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
769 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
770 | @@ -0,0 +1,1 @@ |
|
770 | @@ -0,0 +1,1 @@ | |
771 | +c |
|
771 | +c | |
772 |
|
772 | |||
773 |
|
773 | |||
774 | test diffstat for multiple patches: |
|
774 | test diffstat for multiple patches: | |
775 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y \ |
|
775 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y \ | |
776 | > -r 0:1 |
|
776 | > -r 0:1 | |
777 | this patch series consists of 2 patches. |
|
777 | this patch series consists of 2 patches. | |
778 |
|
778 | |||
779 |
|
779 | |||
780 | Write the introductory message for the patch series. |
|
780 | Write the introductory message for the patch series. | |
781 |
|
781 | |||
782 |
|
782 | |||
783 | Final summary: |
|
783 | Final summary: | |
784 |
|
784 | |||
785 | From: quux |
|
785 | From: quux | |
786 | To: foo |
|
786 | To: foo | |
787 | Cc: bar |
|
787 | Cc: bar | |
788 | Subject: [PATCH 0 of 2] test |
|
788 | Subject: [PATCH 0 of 2] test | |
789 | a | 1 + |
|
789 | a | 1 + | |
790 | b | 1 + |
|
790 | b | 1 + | |
791 | 2 files changed, 2 insertions(+), 0 deletions(-) |
|
791 | 2 files changed, 2 insertions(+), 0 deletions(-) | |
792 | Subject: [PATCH 1 of 2] a |
|
792 | Subject: [PATCH 1 of 2] a | |
793 | a | 1 + |
|
793 | a | 1 + | |
794 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
794 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
795 | Subject: [PATCH 2 of 2] b |
|
795 | Subject: [PATCH 2 of 2] b | |
796 | b | 1 + |
|
796 | b | 1 + | |
797 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
797 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
798 |
|
798 | |||
799 | are you sure you want to send (yn)? y |
|
799 | are you sure you want to send (yn)? y | |
800 |
|
800 | |||
801 | displaying [PATCH 0 of 2] test ... |
|
801 | displaying [PATCH 0 of 2] test ... | |
802 | MIME-Version: 1.0 |
|
802 | MIME-Version: 1.0 | |
803 | Content-Type: text/plain; charset="us-ascii" |
|
803 | Content-Type: text/plain; charset="us-ascii" | |
804 | Content-Transfer-Encoding: 7bit |
|
804 | Content-Transfer-Encoding: 7bit | |
805 | Subject: [PATCH 0 of 2] test |
|
805 | Subject: [PATCH 0 of 2] test | |
806 | Message-Id: <patchbomb.60@test-hostname> |
|
806 | Message-Id: <patchbomb.60@test-hostname> | |
807 | User-Agent: Mercurial-patchbomb/* (glob) |
|
807 | User-Agent: Mercurial-patchbomb/* (glob) | |
808 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
808 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
809 | From: quux |
|
809 | From: quux | |
810 | To: foo |
|
810 | To: foo | |
811 | Cc: bar |
|
811 | Cc: bar | |
812 |
|
812 | |||
813 |
|
813 | |||
814 | a | 1 + |
|
814 | a | 1 + | |
815 | b | 1 + |
|
815 | b | 1 + | |
816 | 2 files changed, 2 insertions(+), 0 deletions(-) |
|
816 | 2 files changed, 2 insertions(+), 0 deletions(-) | |
817 |
|
817 | |||
818 | displaying [PATCH 1 of 2] a ... |
|
818 | displaying [PATCH 1 of 2] a ... | |
819 | MIME-Version: 1.0 |
|
819 | MIME-Version: 1.0 | |
820 | Content-Type: text/plain; charset="us-ascii" |
|
820 | Content-Type: text/plain; charset="us-ascii" | |
821 | Content-Transfer-Encoding: 7bit |
|
821 | Content-Transfer-Encoding: 7bit | |
822 | Subject: [PATCH 1 of 2] a |
|
822 | Subject: [PATCH 1 of 2] a | |
823 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
823 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
824 | X-Mercurial-Series-Index: 1 |
|
824 | X-Mercurial-Series-Index: 1 | |
825 | X-Mercurial-Series-Total: 2 |
|
825 | X-Mercurial-Series-Total: 2 | |
826 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
826 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
827 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
827 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
828 | In-Reply-To: <patchbomb.60@test-hostname> |
|
828 | In-Reply-To: <patchbomb.60@test-hostname> | |
829 | References: <patchbomb.60@test-hostname> |
|
829 | References: <patchbomb.60@test-hostname> | |
830 | User-Agent: Mercurial-patchbomb/* (glob) |
|
830 | User-Agent: Mercurial-patchbomb/* (glob) | |
831 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
831 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
832 | From: quux |
|
832 | From: quux | |
833 | To: foo |
|
833 | To: foo | |
834 | Cc: bar |
|
834 | Cc: bar | |
835 |
|
835 | |||
836 | a | 1 + |
|
836 | a | 1 + | |
837 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
837 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
838 |
|
838 | |||
839 |
|
839 | |||
840 | # HG changeset patch |
|
840 | # HG changeset patch | |
841 | # User test |
|
841 | # User test | |
842 | # Date 1 0 |
|
842 | # Date 1 0 | |
843 | # Thu Jan 01 00:00:01 1970 +0000 |
|
843 | # Thu Jan 01 00:00:01 1970 +0000 | |
844 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
844 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
845 | # Parent 0000000000000000000000000000000000000000 |
|
845 | # Parent 0000000000000000000000000000000000000000 | |
846 | a |
|
846 | a | |
847 |
|
847 | |||
848 | diff -r 000000000000 -r 8580ff50825a a |
|
848 | diff -r 000000000000 -r 8580ff50825a a | |
849 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
849 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
850 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
850 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
851 | @@ -0,0 +1,1 @@ |
|
851 | @@ -0,0 +1,1 @@ | |
852 | +a |
|
852 | +a | |
853 |
|
853 | |||
854 | displaying [PATCH 2 of 2] b ... |
|
854 | displaying [PATCH 2 of 2] b ... | |
855 | MIME-Version: 1.0 |
|
855 | MIME-Version: 1.0 | |
856 | Content-Type: text/plain; charset="us-ascii" |
|
856 | Content-Type: text/plain; charset="us-ascii" | |
857 | Content-Transfer-Encoding: 7bit |
|
857 | Content-Transfer-Encoding: 7bit | |
858 | Subject: [PATCH 2 of 2] b |
|
858 | Subject: [PATCH 2 of 2] b | |
859 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
859 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
860 | X-Mercurial-Series-Index: 2 |
|
860 | X-Mercurial-Series-Index: 2 | |
861 | X-Mercurial-Series-Total: 2 |
|
861 | X-Mercurial-Series-Total: 2 | |
862 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
862 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
863 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
863 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
864 | In-Reply-To: <patchbomb.60@test-hostname> |
|
864 | In-Reply-To: <patchbomb.60@test-hostname> | |
865 | References: <patchbomb.60@test-hostname> |
|
865 | References: <patchbomb.60@test-hostname> | |
866 | User-Agent: Mercurial-patchbomb/* (glob) |
|
866 | User-Agent: Mercurial-patchbomb/* (glob) | |
867 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
867 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
868 | From: quux |
|
868 | From: quux | |
869 | To: foo |
|
869 | To: foo | |
870 | Cc: bar |
|
870 | Cc: bar | |
871 |
|
871 | |||
872 | b | 1 + |
|
872 | b | 1 + | |
873 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
873 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
874 |
|
874 | |||
875 |
|
875 | |||
876 | # HG changeset patch |
|
876 | # HG changeset patch | |
877 | # User test |
|
877 | # User test | |
878 | # Date 2 0 |
|
878 | # Date 2 0 | |
879 | # Thu Jan 01 00:00:02 1970 +0000 |
|
879 | # Thu Jan 01 00:00:02 1970 +0000 | |
880 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
880 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
881 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
881 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
882 | b |
|
882 | b | |
883 |
|
883 | |||
884 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
884 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
885 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
885 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
886 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
886 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
887 | @@ -0,0 +1,1 @@ |
|
887 | @@ -0,0 +1,1 @@ | |
888 | +b |
|
888 | +b | |
889 |
|
889 | |||
890 |
|
890 | |||
891 | test inline for single patch: |
|
891 | test inline for single patch: | |
892 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2 | filterboundary |
|
892 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 2 | filterboundary | |
893 | this patch series consists of 1 patches. |
|
893 | this patch series consists of 1 patches. | |
894 |
|
894 | |||
895 |
|
895 | |||
896 | displaying [PATCH] test ... |
|
896 | displaying [PATCH] test ... | |
897 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
897 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
898 | MIME-Version: 1.0 |
|
898 | MIME-Version: 1.0 | |
899 | Subject: [PATCH] test |
|
899 | Subject: [PATCH] test | |
900 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
900 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
901 | X-Mercurial-Series-Index: 1 |
|
901 | X-Mercurial-Series-Index: 1 | |
902 | X-Mercurial-Series-Total: 1 |
|
902 | X-Mercurial-Series-Total: 1 | |
903 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
903 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
904 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
904 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
905 | User-Agent: Mercurial-patchbomb/* (glob) |
|
905 | User-Agent: Mercurial-patchbomb/* (glob) | |
906 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
906 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
907 | From: quux |
|
907 | From: quux | |
908 | To: foo |
|
908 | To: foo | |
909 | Cc: bar |
|
909 | Cc: bar | |
910 |
|
910 | |||
911 | --===*= (glob) |
|
911 | --===*= (glob) | |
912 | MIME-Version: 1.0 |
|
912 | MIME-Version: 1.0 | |
913 | Content-Type: text/x-patch; charset="us-ascii" |
|
913 | Content-Type: text/x-patch; charset="us-ascii" | |
914 | Content-Transfer-Encoding: 7bit |
|
914 | Content-Transfer-Encoding: 7bit | |
915 | Content-Disposition: inline; filename=t2.patch |
|
915 | Content-Disposition: inline; filename=t2.patch | |
916 |
|
916 | |||
917 | # HG changeset patch |
|
917 | # HG changeset patch | |
918 | # User test |
|
918 | # User test | |
919 | # Date 3 0 |
|
919 | # Date 3 0 | |
920 | # Thu Jan 01 00:00:03 1970 +0000 |
|
920 | # Thu Jan 01 00:00:03 1970 +0000 | |
921 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
921 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
922 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
922 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
923 | c |
|
923 | c | |
924 |
|
924 | |||
925 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
925 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
926 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
926 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
927 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
927 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
928 | @@ -0,0 +1,1 @@ |
|
928 | @@ -0,0 +1,1 @@ | |
929 | +c |
|
929 | +c | |
930 |
|
930 | |||
931 | --===*=-- (glob) |
|
931 | --===*=-- (glob) | |
932 |
|
932 | |||
933 |
|
933 | |||
934 | test inline for single patch (quoted-printable): |
|
934 | test inline for single patch (quoted-printable): | |
935 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 4 | filterboundary |
|
935 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 4 | filterboundary | |
936 | this patch series consists of 1 patches. |
|
936 | this patch series consists of 1 patches. | |
937 |
|
937 | |||
938 |
|
938 | |||
939 | displaying [PATCH] test ... |
|
939 | displaying [PATCH] test ... | |
940 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
940 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
941 | MIME-Version: 1.0 |
|
941 | MIME-Version: 1.0 | |
942 | Subject: [PATCH] test |
|
942 | Subject: [PATCH] test | |
943 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
943 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d | |
944 | X-Mercurial-Series-Index: 1 |
|
944 | X-Mercurial-Series-Index: 1 | |
945 | X-Mercurial-Series-Total: 1 |
|
945 | X-Mercurial-Series-Total: 1 | |
946 | Message-Id: <0c7b871cb86b61a1c07e.60@test-hostname> |
|
946 | Message-Id: <0c7b871cb86b61a1c07e.60@test-hostname> | |
947 | X-Mercurial-Series-Id: <0c7b871cb86b61a1c07e.60@test-hostname> |
|
947 | X-Mercurial-Series-Id: <0c7b871cb86b61a1c07e.60@test-hostname> | |
948 | User-Agent: Mercurial-patchbomb/* (glob) |
|
948 | User-Agent: Mercurial-patchbomb/* (glob) | |
949 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
949 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
950 | From: quux |
|
950 | From: quux | |
951 | To: foo |
|
951 | To: foo | |
952 | Cc: bar |
|
952 | Cc: bar | |
953 |
|
953 | |||
954 | --===*= (glob) |
|
954 | --===*= (glob) | |
955 | MIME-Version: 1.0 |
|
955 | MIME-Version: 1.0 | |
956 | Content-Type: text/x-patch; charset="us-ascii" |
|
956 | Content-Type: text/x-patch; charset="us-ascii" | |
957 | Content-Transfer-Encoding: quoted-printable |
|
957 | Content-Transfer-Encoding: quoted-printable | |
958 | Content-Disposition: inline; filename=t2.patch |
|
958 | Content-Disposition: inline; filename=t2.patch | |
959 |
|
959 | |||
960 | # HG changeset patch |
|
960 | # HG changeset patch | |
961 | # User test |
|
961 | # User test | |
962 | # Date 4 0 |
|
962 | # Date 4 0 | |
963 | # Thu Jan 01 00:00:04 1970 +0000 |
|
963 | # Thu Jan 01 00:00:04 1970 +0000 | |
964 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
964 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d | |
965 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
965 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
966 | long line |
|
966 | long line | |
967 |
|
967 | |||
968 | diff -r f81ef9782946 -r 0c7b871cb86b long |
|
968 | diff -r f81ef9782946 -r 0c7b871cb86b long | |
969 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
969 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
970 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 |
|
970 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 | |
971 | @@ -0,0 +1,4 @@ |
|
971 | @@ -0,0 +1,4 @@ | |
972 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
972 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
973 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
973 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
974 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
974 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
975 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
975 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
976 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
976 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
977 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
977 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
978 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
978 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
979 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
979 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
980 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
980 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
981 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
981 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
982 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
982 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
983 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
983 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
984 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
984 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
985 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
|
985 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
986 | +foo |
|
986 | +foo | |
987 | + |
|
987 | + | |
988 | +bar |
|
988 | +bar | |
989 |
|
989 | |||
990 | --===*=-- (glob) |
|
990 | --===*=-- (glob) | |
991 |
|
991 | |||
992 | test inline for multiple patches: |
|
992 | test inline for multiple patches: | |
993 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \ |
|
993 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \ | |
994 | > -r 0:1 -r 4 | filterboundary |
|
994 | > -r 0:1 -r 4 | filterboundary | |
995 | this patch series consists of 3 patches. |
|
995 | this patch series consists of 3 patches. | |
996 |
|
996 | |||
997 |
|
997 | |||
998 | Write the introductory message for the patch series. |
|
998 | Write the introductory message for the patch series. | |
999 |
|
999 | |||
1000 |
|
1000 | |||
1001 | displaying [PATCH 0 of 3] test ... |
|
1001 | displaying [PATCH 0 of 3] test ... | |
1002 | MIME-Version: 1.0 |
|
1002 | MIME-Version: 1.0 | |
1003 | Content-Type: text/plain; charset="us-ascii" |
|
1003 | Content-Type: text/plain; charset="us-ascii" | |
1004 | Content-Transfer-Encoding: 7bit |
|
1004 | Content-Transfer-Encoding: 7bit | |
1005 | Subject: [PATCH 0 of 3] test |
|
1005 | Subject: [PATCH 0 of 3] test | |
1006 | Message-Id: <patchbomb.60@test-hostname> |
|
1006 | Message-Id: <patchbomb.60@test-hostname> | |
1007 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1007 | User-Agent: Mercurial-patchbomb/* (glob) | |
1008 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1008 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1009 | From: quux |
|
1009 | From: quux | |
1010 | To: foo |
|
1010 | To: foo | |
1011 | Cc: bar |
|
1011 | Cc: bar | |
1012 |
|
1012 | |||
1013 |
|
1013 | |||
1014 | displaying [PATCH 1 of 3] a ... |
|
1014 | displaying [PATCH 1 of 3] a ... | |
1015 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1015 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1016 | MIME-Version: 1.0 |
|
1016 | MIME-Version: 1.0 | |
1017 | Subject: [PATCH 1 of 3] a |
|
1017 | Subject: [PATCH 1 of 3] a | |
1018 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1018 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1019 | X-Mercurial-Series-Index: 1 |
|
1019 | X-Mercurial-Series-Index: 1 | |
1020 | X-Mercurial-Series-Total: 3 |
|
1020 | X-Mercurial-Series-Total: 3 | |
1021 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1021 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1022 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1022 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1023 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1023 | In-Reply-To: <patchbomb.60@test-hostname> | |
1024 | References: <patchbomb.60@test-hostname> |
|
1024 | References: <patchbomb.60@test-hostname> | |
1025 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1025 | User-Agent: Mercurial-patchbomb/* (glob) | |
1026 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
1026 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
1027 | From: quux |
|
1027 | From: quux | |
1028 | To: foo |
|
1028 | To: foo | |
1029 | Cc: bar |
|
1029 | Cc: bar | |
1030 |
|
1030 | |||
1031 | --===*= (glob) |
|
1031 | --===*= (glob) | |
1032 | MIME-Version: 1.0 |
|
1032 | MIME-Version: 1.0 | |
1033 | Content-Type: text/x-patch; charset="us-ascii" |
|
1033 | Content-Type: text/x-patch; charset="us-ascii" | |
1034 | Content-Transfer-Encoding: 7bit |
|
1034 | Content-Transfer-Encoding: 7bit | |
1035 | Content-Disposition: inline; filename=t2-1.patch |
|
1035 | Content-Disposition: inline; filename=t2-1.patch | |
1036 |
|
1036 | |||
1037 | # HG changeset patch |
|
1037 | # HG changeset patch | |
1038 | # User test |
|
1038 | # User test | |
1039 | # Date 1 0 |
|
1039 | # Date 1 0 | |
1040 | # Thu Jan 01 00:00:01 1970 +0000 |
|
1040 | # Thu Jan 01 00:00:01 1970 +0000 | |
1041 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1041 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1042 | # Parent 0000000000000000000000000000000000000000 |
|
1042 | # Parent 0000000000000000000000000000000000000000 | |
1043 | a |
|
1043 | a | |
1044 |
|
1044 | |||
1045 | diff -r 000000000000 -r 8580ff50825a a |
|
1045 | diff -r 000000000000 -r 8580ff50825a a | |
1046 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1046 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1047 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
1047 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
1048 | @@ -0,0 +1,1 @@ |
|
1048 | @@ -0,0 +1,1 @@ | |
1049 | +a |
|
1049 | +a | |
1050 |
|
1050 | |||
1051 | --===*=-- (glob) |
|
1051 | --===*=-- (glob) | |
1052 | displaying [PATCH 2 of 3] b ... |
|
1052 | displaying [PATCH 2 of 3] b ... | |
1053 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1053 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1054 | MIME-Version: 1.0 |
|
1054 | MIME-Version: 1.0 | |
1055 | Subject: [PATCH 2 of 3] b |
|
1055 | Subject: [PATCH 2 of 3] b | |
1056 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1056 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1057 | X-Mercurial-Series-Index: 2 |
|
1057 | X-Mercurial-Series-Index: 2 | |
1058 | X-Mercurial-Series-Total: 3 |
|
1058 | X-Mercurial-Series-Total: 3 | |
1059 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
1059 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
1060 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1060 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1061 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1061 | In-Reply-To: <patchbomb.60@test-hostname> | |
1062 | References: <patchbomb.60@test-hostname> |
|
1062 | References: <patchbomb.60@test-hostname> | |
1063 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1063 | User-Agent: Mercurial-patchbomb/* (glob) | |
1064 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
1064 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
1065 | From: quux |
|
1065 | From: quux | |
1066 | To: foo |
|
1066 | To: foo | |
1067 | Cc: bar |
|
1067 | Cc: bar | |
1068 |
|
1068 | |||
1069 | --===*= (glob) |
|
1069 | --===*= (glob) | |
1070 | MIME-Version: 1.0 |
|
1070 | MIME-Version: 1.0 | |
1071 | Content-Type: text/x-patch; charset="us-ascii" |
|
1071 | Content-Type: text/x-patch; charset="us-ascii" | |
1072 | Content-Transfer-Encoding: 7bit |
|
1072 | Content-Transfer-Encoding: 7bit | |
1073 | Content-Disposition: inline; filename=t2-2.patch |
|
1073 | Content-Disposition: inline; filename=t2-2.patch | |
1074 |
|
1074 | |||
1075 | # HG changeset patch |
|
1075 | # HG changeset patch | |
1076 | # User test |
|
1076 | # User test | |
1077 | # Date 2 0 |
|
1077 | # Date 2 0 | |
1078 | # Thu Jan 01 00:00:02 1970 +0000 |
|
1078 | # Thu Jan 01 00:00:02 1970 +0000 | |
1079 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1079 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1080 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1080 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1081 | b |
|
1081 | b | |
1082 |
|
1082 | |||
1083 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
1083 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
1084 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1084 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1085 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
1085 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
1086 | @@ -0,0 +1,1 @@ |
|
1086 | @@ -0,0 +1,1 @@ | |
1087 | +b |
|
1087 | +b | |
1088 |
|
1088 | |||
1089 | --===*=-- (glob) |
|
1089 | --===*=-- (glob) | |
1090 | displaying [PATCH 3 of 3] long line ... |
|
1090 | displaying [PATCH 3 of 3] long line ... | |
1091 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1091 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1092 | MIME-Version: 1.0 |
|
1092 | MIME-Version: 1.0 | |
1093 | Subject: [PATCH 3 of 3] long line |
|
1093 | Subject: [PATCH 3 of 3] long line | |
1094 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
1094 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d | |
1095 | X-Mercurial-Series-Index: 3 |
|
1095 | X-Mercurial-Series-Index: 3 | |
1096 | X-Mercurial-Series-Total: 3 |
|
1096 | X-Mercurial-Series-Total: 3 | |
1097 | Message-Id: <0c7b871cb86b61a1c07e.63@test-hostname> |
|
1097 | Message-Id: <0c7b871cb86b61a1c07e.63@test-hostname> | |
1098 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1098 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1099 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1099 | In-Reply-To: <patchbomb.60@test-hostname> | |
1100 | References: <patchbomb.60@test-hostname> |
|
1100 | References: <patchbomb.60@test-hostname> | |
1101 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1101 | User-Agent: Mercurial-patchbomb/* (glob) | |
1102 | Date: Thu, 01 Jan 1970 00:01:03 +0000 |
|
1102 | Date: Thu, 01 Jan 1970 00:01:03 +0000 | |
1103 | From: quux |
|
1103 | From: quux | |
1104 | To: foo |
|
1104 | To: foo | |
1105 | Cc: bar |
|
1105 | Cc: bar | |
1106 |
|
1106 | |||
1107 | --===*= (glob) |
|
1107 | --===*= (glob) | |
1108 | MIME-Version: 1.0 |
|
1108 | MIME-Version: 1.0 | |
1109 | Content-Type: text/x-patch; charset="us-ascii" |
|
1109 | Content-Type: text/x-patch; charset="us-ascii" | |
1110 | Content-Transfer-Encoding: quoted-printable |
|
1110 | Content-Transfer-Encoding: quoted-printable | |
1111 | Content-Disposition: inline; filename=t2-3.patch |
|
1111 | Content-Disposition: inline; filename=t2-3.patch | |
1112 |
|
1112 | |||
1113 | # HG changeset patch |
|
1113 | # HG changeset patch | |
1114 | # User test |
|
1114 | # User test | |
1115 | # Date 4 0 |
|
1115 | # Date 4 0 | |
1116 | # Thu Jan 01 00:00:04 1970 +0000 |
|
1116 | # Thu Jan 01 00:00:04 1970 +0000 | |
1117 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
1117 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d | |
1118 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
1118 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
1119 | long line |
|
1119 | long line | |
1120 |
|
1120 | |||
1121 | diff -r f81ef9782946 -r 0c7b871cb86b long |
|
1121 | diff -r f81ef9782946 -r 0c7b871cb86b long | |
1122 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1122 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1123 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 |
|
1123 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 | |
1124 | @@ -0,0 +1,4 @@ |
|
1124 | @@ -0,0 +1,4 @@ | |
1125 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1125 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1126 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1126 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1127 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1127 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1128 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1128 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1129 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1129 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1130 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1130 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1131 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1131 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1132 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1132 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1133 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1133 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1134 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1134 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1135 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1135 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1136 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1136 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1137 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1137 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1138 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
|
1138 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
1139 | +foo |
|
1139 | +foo | |
1140 | + |
|
1140 | + | |
1141 | +bar |
|
1141 | +bar | |
1142 |
|
1142 | |||
1143 | --===*=-- (glob) |
|
1143 | --===*=-- (glob) | |
1144 |
|
1144 | |||
1145 | test attach for single patch: |
|
1145 | test attach for single patch: | |
1146 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 2 | filterboundary |
|
1146 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 2 | filterboundary | |
1147 | this patch series consists of 1 patches. |
|
1147 | this patch series consists of 1 patches. | |
1148 |
|
1148 | |||
1149 |
|
1149 | |||
1150 | displaying [PATCH] test ... |
|
1150 | displaying [PATCH] test ... | |
1151 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1151 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1152 | MIME-Version: 1.0 |
|
1152 | MIME-Version: 1.0 | |
1153 | Subject: [PATCH] test |
|
1153 | Subject: [PATCH] test | |
1154 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1154 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1155 | X-Mercurial-Series-Index: 1 |
|
1155 | X-Mercurial-Series-Index: 1 | |
1156 | X-Mercurial-Series-Total: 1 |
|
1156 | X-Mercurial-Series-Total: 1 | |
1157 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1157 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1158 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1158 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1159 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1159 | User-Agent: Mercurial-patchbomb/* (glob) | |
1160 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1160 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1161 | From: quux |
|
1161 | From: quux | |
1162 | To: foo |
|
1162 | To: foo | |
1163 | Cc: bar |
|
1163 | Cc: bar | |
1164 |
|
1164 | |||
1165 | --===*= (glob) |
|
1165 | --===*= (glob) | |
1166 | MIME-Version: 1.0 |
|
1166 | MIME-Version: 1.0 | |
1167 | Content-Type: text/plain; charset="us-ascii" |
|
1167 | Content-Type: text/plain; charset="us-ascii" | |
1168 | Content-Transfer-Encoding: 7bit |
|
1168 | Content-Transfer-Encoding: 7bit | |
1169 |
|
1169 | |||
1170 | Patch subject is complete summary. |
|
1170 | Patch subject is complete summary. | |
1171 |
|
1171 | |||
1172 |
|
1172 | |||
1173 |
|
1173 | |||
1174 | --===*= (glob) |
|
1174 | --===*= (glob) | |
1175 | MIME-Version: 1.0 |
|
1175 | MIME-Version: 1.0 | |
1176 | Content-Type: text/x-patch; charset="us-ascii" |
|
1176 | Content-Type: text/x-patch; charset="us-ascii" | |
1177 | Content-Transfer-Encoding: 7bit |
|
1177 | Content-Transfer-Encoding: 7bit | |
1178 | Content-Disposition: attachment; filename=t2.patch |
|
1178 | Content-Disposition: attachment; filename=t2.patch | |
1179 |
|
1179 | |||
1180 | # HG changeset patch |
|
1180 | # HG changeset patch | |
1181 | # User test |
|
1181 | # User test | |
1182 | # Date 3 0 |
|
1182 | # Date 3 0 | |
1183 | # Thu Jan 01 00:00:03 1970 +0000 |
|
1183 | # Thu Jan 01 00:00:03 1970 +0000 | |
1184 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1184 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1185 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1185 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1186 | c |
|
1186 | c | |
1187 |
|
1187 | |||
1188 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1188 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
1189 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1189 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1190 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1190 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
1191 | @@ -0,0 +1,1 @@ |
|
1191 | @@ -0,0 +1,1 @@ | |
1192 | +c |
|
1192 | +c | |
1193 |
|
1193 | |||
1194 | --===*=-- (glob) |
|
1194 | --===*=-- (glob) | |
1195 |
|
1195 | |||
1196 | test attach for single patch (quoted-printable): |
|
1196 | test attach for single patch (quoted-printable): | |
1197 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 4 | filterboundary |
|
1197 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 4 | filterboundary | |
1198 | this patch series consists of 1 patches. |
|
1198 | this patch series consists of 1 patches. | |
1199 |
|
1199 | |||
1200 |
|
1200 | |||
1201 | displaying [PATCH] test ... |
|
1201 | displaying [PATCH] test ... | |
1202 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1202 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1203 | MIME-Version: 1.0 |
|
1203 | MIME-Version: 1.0 | |
1204 | Subject: [PATCH] test |
|
1204 | Subject: [PATCH] test | |
1205 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
1205 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d | |
1206 | X-Mercurial-Series-Index: 1 |
|
1206 | X-Mercurial-Series-Index: 1 | |
1207 | X-Mercurial-Series-Total: 1 |
|
1207 | X-Mercurial-Series-Total: 1 | |
1208 | Message-Id: <0c7b871cb86b61a1c07e.60@test-hostname> |
|
1208 | Message-Id: <0c7b871cb86b61a1c07e.60@test-hostname> | |
1209 | X-Mercurial-Series-Id: <0c7b871cb86b61a1c07e.60@test-hostname> |
|
1209 | X-Mercurial-Series-Id: <0c7b871cb86b61a1c07e.60@test-hostname> | |
1210 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1210 | User-Agent: Mercurial-patchbomb/* (glob) | |
1211 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1211 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1212 | From: quux |
|
1212 | From: quux | |
1213 | To: foo |
|
1213 | To: foo | |
1214 | Cc: bar |
|
1214 | Cc: bar | |
1215 |
|
1215 | |||
1216 | --===*= (glob) |
|
1216 | --===*= (glob) | |
1217 | MIME-Version: 1.0 |
|
1217 | MIME-Version: 1.0 | |
1218 | Content-Type: text/plain; charset="us-ascii" |
|
1218 | Content-Type: text/plain; charset="us-ascii" | |
1219 | Content-Transfer-Encoding: 7bit |
|
1219 | Content-Transfer-Encoding: 7bit | |
1220 |
|
1220 | |||
1221 | Patch subject is complete summary. |
|
1221 | Patch subject is complete summary. | |
1222 |
|
1222 | |||
1223 |
|
1223 | |||
1224 |
|
1224 | |||
1225 | --===*= (glob) |
|
1225 | --===*= (glob) | |
1226 | MIME-Version: 1.0 |
|
1226 | MIME-Version: 1.0 | |
1227 | Content-Type: text/x-patch; charset="us-ascii" |
|
1227 | Content-Type: text/x-patch; charset="us-ascii" | |
1228 | Content-Transfer-Encoding: quoted-printable |
|
1228 | Content-Transfer-Encoding: quoted-printable | |
1229 | Content-Disposition: attachment; filename=t2.patch |
|
1229 | Content-Disposition: attachment; filename=t2.patch | |
1230 |
|
1230 | |||
1231 | # HG changeset patch |
|
1231 | # HG changeset patch | |
1232 | # User test |
|
1232 | # User test | |
1233 | # Date 4 0 |
|
1233 | # Date 4 0 | |
1234 | # Thu Jan 01 00:00:04 1970 +0000 |
|
1234 | # Thu Jan 01 00:00:04 1970 +0000 | |
1235 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
1235 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d | |
1236 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
1236 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
1237 | long line |
|
1237 | long line | |
1238 |
|
1238 | |||
1239 | diff -r f81ef9782946 -r 0c7b871cb86b long |
|
1239 | diff -r f81ef9782946 -r 0c7b871cb86b long | |
1240 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1240 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1241 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 |
|
1241 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 | |
1242 | @@ -0,0 +1,4 @@ |
|
1242 | @@ -0,0 +1,4 @@ | |
1243 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1243 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1244 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1244 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1245 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1245 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1246 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1246 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1247 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1247 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1248 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1248 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1249 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1249 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1250 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1250 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1251 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1251 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1252 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1252 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1253 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1253 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1254 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1254 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1255 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1255 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1256 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
|
1256 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
1257 | +foo |
|
1257 | +foo | |
1258 | + |
|
1258 | + | |
1259 | +bar |
|
1259 | +bar | |
1260 |
|
1260 | |||
1261 | --===*=-- (glob) |
|
1261 | --===*=-- (glob) | |
1262 |
|
1262 | |||
1263 | test attach and body for single patch: |
|
1263 | test attach and body for single patch: | |
1264 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a --body -r 2 | filterboundary |
|
1264 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a --body -r 2 | filterboundary | |
1265 | this patch series consists of 1 patches. |
|
1265 | this patch series consists of 1 patches. | |
1266 |
|
1266 | |||
1267 |
|
1267 | |||
1268 | displaying [PATCH] test ... |
|
1268 | displaying [PATCH] test ... | |
1269 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1269 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1270 | MIME-Version: 1.0 |
|
1270 | MIME-Version: 1.0 | |
1271 | Subject: [PATCH] test |
|
1271 | Subject: [PATCH] test | |
1272 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1272 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1273 | X-Mercurial-Series-Index: 1 |
|
1273 | X-Mercurial-Series-Index: 1 | |
1274 | X-Mercurial-Series-Total: 1 |
|
1274 | X-Mercurial-Series-Total: 1 | |
1275 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1275 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1276 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1276 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1277 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1277 | User-Agent: Mercurial-patchbomb/* (glob) | |
1278 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1278 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1279 | From: quux |
|
1279 | From: quux | |
1280 | To: foo |
|
1280 | To: foo | |
1281 | Cc: bar |
|
1281 | Cc: bar | |
1282 |
|
1282 | |||
1283 | --===*= (glob) |
|
1283 | --===*= (glob) | |
1284 | MIME-Version: 1.0 |
|
1284 | MIME-Version: 1.0 | |
1285 | Content-Type: text/plain; charset="us-ascii" |
|
1285 | Content-Type: text/plain; charset="us-ascii" | |
1286 | Content-Transfer-Encoding: 7bit |
|
1286 | Content-Transfer-Encoding: 7bit | |
1287 |
|
1287 | |||
1288 | # HG changeset patch |
|
1288 | # HG changeset patch | |
1289 | # User test |
|
1289 | # User test | |
1290 | # Date 3 0 |
|
1290 | # Date 3 0 | |
1291 | # Thu Jan 01 00:00:03 1970 +0000 |
|
1291 | # Thu Jan 01 00:00:03 1970 +0000 | |
1292 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1292 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1293 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1293 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1294 | c |
|
1294 | c | |
1295 |
|
1295 | |||
1296 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1296 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
1297 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1297 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1298 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1298 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
1299 | @@ -0,0 +1,1 @@ |
|
1299 | @@ -0,0 +1,1 @@ | |
1300 | +c |
|
1300 | +c | |
1301 |
|
1301 | |||
1302 | --===*= (glob) |
|
1302 | --===*= (glob) | |
1303 | MIME-Version: 1.0 |
|
1303 | MIME-Version: 1.0 | |
1304 | Content-Type: text/x-patch; charset="us-ascii" |
|
1304 | Content-Type: text/x-patch; charset="us-ascii" | |
1305 | Content-Transfer-Encoding: 7bit |
|
1305 | Content-Transfer-Encoding: 7bit | |
1306 | Content-Disposition: attachment; filename=t2.patch |
|
1306 | Content-Disposition: attachment; filename=t2.patch | |
1307 |
|
1307 | |||
1308 | # HG changeset patch |
|
1308 | # HG changeset patch | |
1309 | # User test |
|
1309 | # User test | |
1310 | # Date 3 0 |
|
1310 | # Date 3 0 | |
1311 | # Thu Jan 01 00:00:03 1970 +0000 |
|
1311 | # Thu Jan 01 00:00:03 1970 +0000 | |
1312 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1312 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1313 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1313 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1314 | c |
|
1314 | c | |
1315 |
|
1315 | |||
1316 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1316 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
1317 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1317 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1318 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1318 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
1319 | @@ -0,0 +1,1 @@ |
|
1319 | @@ -0,0 +1,1 @@ | |
1320 | +c |
|
1320 | +c | |
1321 |
|
1321 | |||
1322 | --===*=-- (glob) |
|
1322 | --===*=-- (glob) | |
1323 |
|
1323 | |||
1324 | test attach for multiple patches: |
|
1324 | test attach for multiple patches: | |
1325 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a \ |
|
1325 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a \ | |
1326 | > -r 0:1 -r 4 | filterboundary |
|
1326 | > -r 0:1 -r 4 | filterboundary | |
1327 | this patch series consists of 3 patches. |
|
1327 | this patch series consists of 3 patches. | |
1328 |
|
1328 | |||
1329 |
|
1329 | |||
1330 | Write the introductory message for the patch series. |
|
1330 | Write the introductory message for the patch series. | |
1331 |
|
1331 | |||
1332 |
|
1332 | |||
1333 | displaying [PATCH 0 of 3] test ... |
|
1333 | displaying [PATCH 0 of 3] test ... | |
1334 | MIME-Version: 1.0 |
|
1334 | MIME-Version: 1.0 | |
1335 | Content-Type: text/plain; charset="us-ascii" |
|
1335 | Content-Type: text/plain; charset="us-ascii" | |
1336 | Content-Transfer-Encoding: 7bit |
|
1336 | Content-Transfer-Encoding: 7bit | |
1337 | Subject: [PATCH 0 of 3] test |
|
1337 | Subject: [PATCH 0 of 3] test | |
1338 | Message-Id: <patchbomb.60@test-hostname> |
|
1338 | Message-Id: <patchbomb.60@test-hostname> | |
1339 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1339 | User-Agent: Mercurial-patchbomb/* (glob) | |
1340 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1340 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1341 | From: quux |
|
1341 | From: quux | |
1342 | To: foo |
|
1342 | To: foo | |
1343 | Cc: bar |
|
1343 | Cc: bar | |
1344 |
|
1344 | |||
1345 |
|
1345 | |||
1346 | displaying [PATCH 1 of 3] a ... |
|
1346 | displaying [PATCH 1 of 3] a ... | |
1347 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1347 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1348 | MIME-Version: 1.0 |
|
1348 | MIME-Version: 1.0 | |
1349 | Subject: [PATCH 1 of 3] a |
|
1349 | Subject: [PATCH 1 of 3] a | |
1350 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1350 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1351 | X-Mercurial-Series-Index: 1 |
|
1351 | X-Mercurial-Series-Index: 1 | |
1352 | X-Mercurial-Series-Total: 3 |
|
1352 | X-Mercurial-Series-Total: 3 | |
1353 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1353 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1354 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1354 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1355 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1355 | In-Reply-To: <patchbomb.60@test-hostname> | |
1356 | References: <patchbomb.60@test-hostname> |
|
1356 | References: <patchbomb.60@test-hostname> | |
1357 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1357 | User-Agent: Mercurial-patchbomb/* (glob) | |
1358 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
1358 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
1359 | From: quux |
|
1359 | From: quux | |
1360 | To: foo |
|
1360 | To: foo | |
1361 | Cc: bar |
|
1361 | Cc: bar | |
1362 |
|
1362 | |||
1363 | --===*= (glob) |
|
1363 | --===*= (glob) | |
1364 | MIME-Version: 1.0 |
|
1364 | MIME-Version: 1.0 | |
1365 | Content-Type: text/plain; charset="us-ascii" |
|
1365 | Content-Type: text/plain; charset="us-ascii" | |
1366 | Content-Transfer-Encoding: 7bit |
|
1366 | Content-Transfer-Encoding: 7bit | |
1367 |
|
1367 | |||
1368 | Patch subject is complete summary. |
|
1368 | Patch subject is complete summary. | |
1369 |
|
1369 | |||
1370 |
|
1370 | |||
1371 |
|
1371 | |||
1372 | --===*= (glob) |
|
1372 | --===*= (glob) | |
1373 | MIME-Version: 1.0 |
|
1373 | MIME-Version: 1.0 | |
1374 | Content-Type: text/x-patch; charset="us-ascii" |
|
1374 | Content-Type: text/x-patch; charset="us-ascii" | |
1375 | Content-Transfer-Encoding: 7bit |
|
1375 | Content-Transfer-Encoding: 7bit | |
1376 | Content-Disposition: attachment; filename=t2-1.patch |
|
1376 | Content-Disposition: attachment; filename=t2-1.patch | |
1377 |
|
1377 | |||
1378 | # HG changeset patch |
|
1378 | # HG changeset patch | |
1379 | # User test |
|
1379 | # User test | |
1380 | # Date 1 0 |
|
1380 | # Date 1 0 | |
1381 | # Thu Jan 01 00:00:01 1970 +0000 |
|
1381 | # Thu Jan 01 00:00:01 1970 +0000 | |
1382 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1382 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1383 | # Parent 0000000000000000000000000000000000000000 |
|
1383 | # Parent 0000000000000000000000000000000000000000 | |
1384 | a |
|
1384 | a | |
1385 |
|
1385 | |||
1386 | diff -r 000000000000 -r 8580ff50825a a |
|
1386 | diff -r 000000000000 -r 8580ff50825a a | |
1387 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1387 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1388 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
1388 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
1389 | @@ -0,0 +1,1 @@ |
|
1389 | @@ -0,0 +1,1 @@ | |
1390 | +a |
|
1390 | +a | |
1391 |
|
1391 | |||
1392 | --===*=-- (glob) |
|
1392 | --===*=-- (glob) | |
1393 | displaying [PATCH 2 of 3] b ... |
|
1393 | displaying [PATCH 2 of 3] b ... | |
1394 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1394 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1395 | MIME-Version: 1.0 |
|
1395 | MIME-Version: 1.0 | |
1396 | Subject: [PATCH 2 of 3] b |
|
1396 | Subject: [PATCH 2 of 3] b | |
1397 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1397 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1398 | X-Mercurial-Series-Index: 2 |
|
1398 | X-Mercurial-Series-Index: 2 | |
1399 | X-Mercurial-Series-Total: 3 |
|
1399 | X-Mercurial-Series-Total: 3 | |
1400 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
1400 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
1401 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1401 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1402 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1402 | In-Reply-To: <patchbomb.60@test-hostname> | |
1403 | References: <patchbomb.60@test-hostname> |
|
1403 | References: <patchbomb.60@test-hostname> | |
1404 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1404 | User-Agent: Mercurial-patchbomb/* (glob) | |
1405 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
1405 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
1406 | From: quux |
|
1406 | From: quux | |
1407 | To: foo |
|
1407 | To: foo | |
1408 | Cc: bar |
|
1408 | Cc: bar | |
1409 |
|
1409 | |||
1410 | --===*= (glob) |
|
1410 | --===*= (glob) | |
1411 | MIME-Version: 1.0 |
|
1411 | MIME-Version: 1.0 | |
1412 | Content-Type: text/plain; charset="us-ascii" |
|
1412 | Content-Type: text/plain; charset="us-ascii" | |
1413 | Content-Transfer-Encoding: 7bit |
|
1413 | Content-Transfer-Encoding: 7bit | |
1414 |
|
1414 | |||
1415 | Patch subject is complete summary. |
|
1415 | Patch subject is complete summary. | |
1416 |
|
1416 | |||
1417 |
|
1417 | |||
1418 |
|
1418 | |||
1419 | --===*= (glob) |
|
1419 | --===*= (glob) | |
1420 | MIME-Version: 1.0 |
|
1420 | MIME-Version: 1.0 | |
1421 | Content-Type: text/x-patch; charset="us-ascii" |
|
1421 | Content-Type: text/x-patch; charset="us-ascii" | |
1422 | Content-Transfer-Encoding: 7bit |
|
1422 | Content-Transfer-Encoding: 7bit | |
1423 | Content-Disposition: attachment; filename=t2-2.patch |
|
1423 | Content-Disposition: attachment; filename=t2-2.patch | |
1424 |
|
1424 | |||
1425 | # HG changeset patch |
|
1425 | # HG changeset patch | |
1426 | # User test |
|
1426 | # User test | |
1427 | # Date 2 0 |
|
1427 | # Date 2 0 | |
1428 | # Thu Jan 01 00:00:02 1970 +0000 |
|
1428 | # Thu Jan 01 00:00:02 1970 +0000 | |
1429 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1429 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1430 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1430 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1431 | b |
|
1431 | b | |
1432 |
|
1432 | |||
1433 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
1433 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
1434 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1434 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1435 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
1435 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
1436 | @@ -0,0 +1,1 @@ |
|
1436 | @@ -0,0 +1,1 @@ | |
1437 | +b |
|
1437 | +b | |
1438 |
|
1438 | |||
1439 | --===*=-- (glob) |
|
1439 | --===*=-- (glob) | |
1440 | displaying [PATCH 3 of 3] long line ... |
|
1440 | displaying [PATCH 3 of 3] long line ... | |
1441 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1441 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1442 | MIME-Version: 1.0 |
|
1442 | MIME-Version: 1.0 | |
1443 | Subject: [PATCH 3 of 3] long line |
|
1443 | Subject: [PATCH 3 of 3] long line | |
1444 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
1444 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d | |
1445 | X-Mercurial-Series-Index: 3 |
|
1445 | X-Mercurial-Series-Index: 3 | |
1446 | X-Mercurial-Series-Total: 3 |
|
1446 | X-Mercurial-Series-Total: 3 | |
1447 | Message-Id: <0c7b871cb86b61a1c07e.63@test-hostname> |
|
1447 | Message-Id: <0c7b871cb86b61a1c07e.63@test-hostname> | |
1448 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1448 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1449 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1449 | In-Reply-To: <patchbomb.60@test-hostname> | |
1450 | References: <patchbomb.60@test-hostname> |
|
1450 | References: <patchbomb.60@test-hostname> | |
1451 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1451 | User-Agent: Mercurial-patchbomb/* (glob) | |
1452 | Date: Thu, 01 Jan 1970 00:01:03 +0000 |
|
1452 | Date: Thu, 01 Jan 1970 00:01:03 +0000 | |
1453 | From: quux |
|
1453 | From: quux | |
1454 | To: foo |
|
1454 | To: foo | |
1455 | Cc: bar |
|
1455 | Cc: bar | |
1456 |
|
1456 | |||
1457 | --===*= (glob) |
|
1457 | --===*= (glob) | |
1458 | MIME-Version: 1.0 |
|
1458 | MIME-Version: 1.0 | |
1459 | Content-Type: text/plain; charset="us-ascii" |
|
1459 | Content-Type: text/plain; charset="us-ascii" | |
1460 | Content-Transfer-Encoding: 7bit |
|
1460 | Content-Transfer-Encoding: 7bit | |
1461 |
|
1461 | |||
1462 | Patch subject is complete summary. |
|
1462 | Patch subject is complete summary. | |
1463 |
|
1463 | |||
1464 |
|
1464 | |||
1465 |
|
1465 | |||
1466 | --===*= (glob) |
|
1466 | --===*= (glob) | |
1467 | MIME-Version: 1.0 |
|
1467 | MIME-Version: 1.0 | |
1468 | Content-Type: text/x-patch; charset="us-ascii" |
|
1468 | Content-Type: text/x-patch; charset="us-ascii" | |
1469 | Content-Transfer-Encoding: quoted-printable |
|
1469 | Content-Transfer-Encoding: quoted-printable | |
1470 | Content-Disposition: attachment; filename=t2-3.patch |
|
1470 | Content-Disposition: attachment; filename=t2-3.patch | |
1471 |
|
1471 | |||
1472 | # HG changeset patch |
|
1472 | # HG changeset patch | |
1473 | # User test |
|
1473 | # User test | |
1474 | # Date 4 0 |
|
1474 | # Date 4 0 | |
1475 | # Thu Jan 01 00:00:04 1970 +0000 |
|
1475 | # Thu Jan 01 00:00:04 1970 +0000 | |
1476 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
1476 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d | |
1477 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
1477 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
1478 | long line |
|
1478 | long line | |
1479 |
|
1479 | |||
1480 | diff -r f81ef9782946 -r 0c7b871cb86b long |
|
1480 | diff -r f81ef9782946 -r 0c7b871cb86b long | |
1481 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1481 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1482 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 |
|
1482 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 | |
1483 | @@ -0,0 +1,4 @@ |
|
1483 | @@ -0,0 +1,4 @@ | |
1484 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1484 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1485 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1485 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1486 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1486 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1487 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1487 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1488 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1488 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1489 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1489 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1490 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1490 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1491 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1491 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1492 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1492 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1493 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1493 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1494 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1494 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1495 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1495 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1496 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
1496 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
1497 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
|
1497 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
1498 | +foo |
|
1498 | +foo | |
1499 | + |
|
1499 | + | |
1500 | +bar |
|
1500 | +bar | |
1501 |
|
1501 | |||
1502 | --===*=-- (glob) |
|
1502 | --===*=-- (glob) | |
1503 |
|
1503 | |||
1504 | test intro for single patch: |
|
1504 | test intro for single patch: | |
1505 | $ hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \ |
|
1505 | $ hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \ | |
1506 | > -r 2 |
|
1506 | > -r 2 | |
1507 | this patch series consists of 1 patches. |
|
1507 | this patch series consists of 1 patches. | |
1508 |
|
1508 | |||
1509 |
|
1509 | |||
1510 | Write the introductory message for the patch series. |
|
1510 | Write the introductory message for the patch series. | |
1511 |
|
1511 | |||
1512 |
|
1512 | |||
1513 | displaying [PATCH 0 of 1] test ... |
|
1513 | displaying [PATCH 0 of 1] test ... | |
1514 | MIME-Version: 1.0 |
|
1514 | MIME-Version: 1.0 | |
1515 | Content-Type: text/plain; charset="us-ascii" |
|
1515 | Content-Type: text/plain; charset="us-ascii" | |
1516 | Content-Transfer-Encoding: 7bit |
|
1516 | Content-Transfer-Encoding: 7bit | |
1517 | Subject: [PATCH 0 of 1] test |
|
1517 | Subject: [PATCH 0 of 1] test | |
1518 | Message-Id: <patchbomb.60@test-hostname> |
|
1518 | Message-Id: <patchbomb.60@test-hostname> | |
1519 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1519 | User-Agent: Mercurial-patchbomb/* (glob) | |
1520 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1520 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1521 | From: quux |
|
1521 | From: quux | |
1522 | To: foo |
|
1522 | To: foo | |
1523 | Cc: bar |
|
1523 | Cc: bar | |
1524 |
|
1524 | |||
1525 |
|
1525 | |||
1526 | displaying [PATCH 1 of 1] c ... |
|
1526 | displaying [PATCH 1 of 1] c ... | |
1527 | MIME-Version: 1.0 |
|
1527 | MIME-Version: 1.0 | |
1528 | Content-Type: text/plain; charset="us-ascii" |
|
1528 | Content-Type: text/plain; charset="us-ascii" | |
1529 | Content-Transfer-Encoding: 7bit |
|
1529 | Content-Transfer-Encoding: 7bit | |
1530 | Subject: [PATCH 1 of 1] c |
|
1530 | Subject: [PATCH 1 of 1] c | |
1531 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1531 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1532 | X-Mercurial-Series-Index: 1 |
|
1532 | X-Mercurial-Series-Index: 1 | |
1533 | X-Mercurial-Series-Total: 1 |
|
1533 | X-Mercurial-Series-Total: 1 | |
1534 | Message-Id: <ff2c9fa2018b15fa74b3.61@test-hostname> |
|
1534 | Message-Id: <ff2c9fa2018b15fa74b3.61@test-hostname> | |
1535 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.61@test-hostname> |
|
1535 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.61@test-hostname> | |
1536 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1536 | In-Reply-To: <patchbomb.60@test-hostname> | |
1537 | References: <patchbomb.60@test-hostname> |
|
1537 | References: <patchbomb.60@test-hostname> | |
1538 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1538 | User-Agent: Mercurial-patchbomb/* (glob) | |
1539 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
1539 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
1540 | From: quux |
|
1540 | From: quux | |
1541 | To: foo |
|
1541 | To: foo | |
1542 | Cc: bar |
|
1542 | Cc: bar | |
1543 |
|
1543 | |||
1544 | # HG changeset patch |
|
1544 | # HG changeset patch | |
1545 | # User test |
|
1545 | # User test | |
1546 | # Date 3 0 |
|
1546 | # Date 3 0 | |
1547 | # Thu Jan 01 00:00:03 1970 +0000 |
|
1547 | # Thu Jan 01 00:00:03 1970 +0000 | |
1548 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1548 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1549 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1549 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1550 | c |
|
1550 | c | |
1551 |
|
1551 | |||
1552 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1552 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
1553 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1553 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1554 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1554 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
1555 | @@ -0,0 +1,1 @@ |
|
1555 | @@ -0,0 +1,1 @@ | |
1556 | +c |
|
1556 | +c | |
1557 |
|
1557 | |||
1558 |
|
1558 | |||
1559 | test --desc without --intro for a single patch: |
|
1559 | test --desc without --intro for a single patch: | |
1560 | $ echo foo > intro.text |
|
1560 | $ echo foo > intro.text | |
1561 | $ hg email --date '1970-1-1 0:1' -n --desc intro.text -f quux -t foo -c bar \ |
|
1561 | $ hg email --date '1970-1-1 0:1' -n --desc intro.text -f quux -t foo -c bar \ | |
1562 | > -s test -r 2 |
|
1562 | > -s test -r 2 | |
1563 | this patch series consists of 1 patches. |
|
1563 | this patch series consists of 1 patches. | |
1564 |
|
1564 | |||
1565 |
|
1565 | |||
1566 | displaying [PATCH 0 of 1] test ... |
|
1566 | displaying [PATCH 0 of 1] test ... | |
1567 | MIME-Version: 1.0 |
|
1567 | MIME-Version: 1.0 | |
1568 | Content-Type: text/plain; charset="us-ascii" |
|
1568 | Content-Type: text/plain; charset="us-ascii" | |
1569 | Content-Transfer-Encoding: 7bit |
|
1569 | Content-Transfer-Encoding: 7bit | |
1570 | Subject: [PATCH 0 of 1] test |
|
1570 | Subject: [PATCH 0 of 1] test | |
1571 | Message-Id: <patchbomb.60@test-hostname> |
|
1571 | Message-Id: <patchbomb.60@test-hostname> | |
1572 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1572 | User-Agent: Mercurial-patchbomb/* (glob) | |
1573 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1573 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1574 | From: quux |
|
1574 | From: quux | |
1575 | To: foo |
|
1575 | To: foo | |
1576 | Cc: bar |
|
1576 | Cc: bar | |
1577 |
|
1577 | |||
1578 | foo |
|
1578 | foo | |
1579 |
|
1579 | |||
1580 | displaying [PATCH 1 of 1] c ... |
|
1580 | displaying [PATCH 1 of 1] c ... | |
1581 | MIME-Version: 1.0 |
|
1581 | MIME-Version: 1.0 | |
1582 | Content-Type: text/plain; charset="us-ascii" |
|
1582 | Content-Type: text/plain; charset="us-ascii" | |
1583 | Content-Transfer-Encoding: 7bit |
|
1583 | Content-Transfer-Encoding: 7bit | |
1584 | Subject: [PATCH 1 of 1] c |
|
1584 | Subject: [PATCH 1 of 1] c | |
1585 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1585 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1586 | X-Mercurial-Series-Index: 1 |
|
1586 | X-Mercurial-Series-Index: 1 | |
1587 | X-Mercurial-Series-Total: 1 |
|
1587 | X-Mercurial-Series-Total: 1 | |
1588 | Message-Id: <ff2c9fa2018b15fa74b3.61@test-hostname> |
|
1588 | Message-Id: <ff2c9fa2018b15fa74b3.61@test-hostname> | |
1589 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.61@test-hostname> |
|
1589 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.61@test-hostname> | |
1590 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1590 | In-Reply-To: <patchbomb.60@test-hostname> | |
1591 | References: <patchbomb.60@test-hostname> |
|
1591 | References: <patchbomb.60@test-hostname> | |
1592 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1592 | User-Agent: Mercurial-patchbomb/* (glob) | |
1593 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
1593 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
1594 | From: quux |
|
1594 | From: quux | |
1595 | To: foo |
|
1595 | To: foo | |
1596 | Cc: bar |
|
1596 | Cc: bar | |
1597 |
|
1597 | |||
1598 | # HG changeset patch |
|
1598 | # HG changeset patch | |
1599 | # User test |
|
1599 | # User test | |
1600 | # Date 3 0 |
|
1600 | # Date 3 0 | |
1601 | # Thu Jan 01 00:00:03 1970 +0000 |
|
1601 | # Thu Jan 01 00:00:03 1970 +0000 | |
1602 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1602 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1603 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1603 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1604 | c |
|
1604 | c | |
1605 |
|
1605 | |||
1606 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1606 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
1607 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1607 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1608 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1608 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
1609 | @@ -0,0 +1,1 @@ |
|
1609 | @@ -0,0 +1,1 @@ | |
1610 | +c |
|
1610 | +c | |
1611 |
|
1611 | |||
1612 |
|
1612 | |||
1613 | test intro for multiple patches: |
|
1613 | test intro for multiple patches: | |
1614 | $ hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \ |
|
1614 | $ hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test \ | |
1615 | > -r 0:1 |
|
1615 | > -r 0:1 | |
1616 | this patch series consists of 2 patches. |
|
1616 | this patch series consists of 2 patches. | |
1617 |
|
1617 | |||
1618 |
|
1618 | |||
1619 | Write the introductory message for the patch series. |
|
1619 | Write the introductory message for the patch series. | |
1620 |
|
1620 | |||
1621 |
|
1621 | |||
1622 | displaying [PATCH 0 of 2] test ... |
|
1622 | displaying [PATCH 0 of 2] test ... | |
1623 | MIME-Version: 1.0 |
|
1623 | MIME-Version: 1.0 | |
1624 | Content-Type: text/plain; charset="us-ascii" |
|
1624 | Content-Type: text/plain; charset="us-ascii" | |
1625 | Content-Transfer-Encoding: 7bit |
|
1625 | Content-Transfer-Encoding: 7bit | |
1626 | Subject: [PATCH 0 of 2] test |
|
1626 | Subject: [PATCH 0 of 2] test | |
1627 | Message-Id: <patchbomb.60@test-hostname> |
|
1627 | Message-Id: <patchbomb.60@test-hostname> | |
1628 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1628 | User-Agent: Mercurial-patchbomb/* (glob) | |
1629 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1629 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1630 | From: quux |
|
1630 | From: quux | |
1631 | To: foo |
|
1631 | To: foo | |
1632 | Cc: bar |
|
1632 | Cc: bar | |
1633 |
|
1633 | |||
1634 |
|
1634 | |||
1635 | displaying [PATCH 1 of 2] a ... |
|
1635 | displaying [PATCH 1 of 2] a ... | |
1636 | MIME-Version: 1.0 |
|
1636 | MIME-Version: 1.0 | |
1637 | Content-Type: text/plain; charset="us-ascii" |
|
1637 | Content-Type: text/plain; charset="us-ascii" | |
1638 | Content-Transfer-Encoding: 7bit |
|
1638 | Content-Transfer-Encoding: 7bit | |
1639 | Subject: [PATCH 1 of 2] a |
|
1639 | Subject: [PATCH 1 of 2] a | |
1640 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1640 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1641 | X-Mercurial-Series-Index: 1 |
|
1641 | X-Mercurial-Series-Index: 1 | |
1642 | X-Mercurial-Series-Total: 2 |
|
1642 | X-Mercurial-Series-Total: 2 | |
1643 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1643 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1644 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1644 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1645 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1645 | In-Reply-To: <patchbomb.60@test-hostname> | |
1646 | References: <patchbomb.60@test-hostname> |
|
1646 | References: <patchbomb.60@test-hostname> | |
1647 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1647 | User-Agent: Mercurial-patchbomb/* (glob) | |
1648 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
1648 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
1649 | From: quux |
|
1649 | From: quux | |
1650 | To: foo |
|
1650 | To: foo | |
1651 | Cc: bar |
|
1651 | Cc: bar | |
1652 |
|
1652 | |||
1653 | # HG changeset patch |
|
1653 | # HG changeset patch | |
1654 | # User test |
|
1654 | # User test | |
1655 | # Date 1 0 |
|
1655 | # Date 1 0 | |
1656 | # Thu Jan 01 00:00:01 1970 +0000 |
|
1656 | # Thu Jan 01 00:00:01 1970 +0000 | |
1657 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1657 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1658 | # Parent 0000000000000000000000000000000000000000 |
|
1658 | # Parent 0000000000000000000000000000000000000000 | |
1659 | a |
|
1659 | a | |
1660 |
|
1660 | |||
1661 | diff -r 000000000000 -r 8580ff50825a a |
|
1661 | diff -r 000000000000 -r 8580ff50825a a | |
1662 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1662 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1663 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
1663 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
1664 | @@ -0,0 +1,1 @@ |
|
1664 | @@ -0,0 +1,1 @@ | |
1665 | +a |
|
1665 | +a | |
1666 |
|
1666 | |||
1667 | displaying [PATCH 2 of 2] b ... |
|
1667 | displaying [PATCH 2 of 2] b ... | |
1668 | MIME-Version: 1.0 |
|
1668 | MIME-Version: 1.0 | |
1669 | Content-Type: text/plain; charset="us-ascii" |
|
1669 | Content-Type: text/plain; charset="us-ascii" | |
1670 | Content-Transfer-Encoding: 7bit |
|
1670 | Content-Transfer-Encoding: 7bit | |
1671 | Subject: [PATCH 2 of 2] b |
|
1671 | Subject: [PATCH 2 of 2] b | |
1672 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1672 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1673 | X-Mercurial-Series-Index: 2 |
|
1673 | X-Mercurial-Series-Index: 2 | |
1674 | X-Mercurial-Series-Total: 2 |
|
1674 | X-Mercurial-Series-Total: 2 | |
1675 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
1675 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
1676 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1676 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1677 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1677 | In-Reply-To: <patchbomb.60@test-hostname> | |
1678 | References: <patchbomb.60@test-hostname> |
|
1678 | References: <patchbomb.60@test-hostname> | |
1679 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1679 | User-Agent: Mercurial-patchbomb/* (glob) | |
1680 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
1680 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
1681 | From: quux |
|
1681 | From: quux | |
1682 | To: foo |
|
1682 | To: foo | |
1683 | Cc: bar |
|
1683 | Cc: bar | |
1684 |
|
1684 | |||
1685 | # HG changeset patch |
|
1685 | # HG changeset patch | |
1686 | # User test |
|
1686 | # User test | |
1687 | # Date 2 0 |
|
1687 | # Date 2 0 | |
1688 | # Thu Jan 01 00:00:02 1970 +0000 |
|
1688 | # Thu Jan 01 00:00:02 1970 +0000 | |
1689 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1689 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1690 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1690 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1691 | b |
|
1691 | b | |
1692 |
|
1692 | |||
1693 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
1693 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
1694 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1694 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1695 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
1695 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
1696 | @@ -0,0 +1,1 @@ |
|
1696 | @@ -0,0 +1,1 @@ | |
1697 | +b |
|
1697 | +b | |
1698 |
|
1698 | |||
1699 |
|
1699 | |||
1700 | test reply-to via config: |
|
1700 | test reply-to via config: | |
1701 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \ |
|
1701 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \ | |
1702 | > --config patchbomb.reply-to='baz@example.com' |
|
1702 | > --config patchbomb.reply-to='baz@example.com' | |
1703 | this patch series consists of 1 patches. |
|
1703 | this patch series consists of 1 patches. | |
1704 |
|
1704 | |||
1705 |
|
1705 | |||
1706 | displaying [PATCH] test ... |
|
1706 | displaying [PATCH] test ... | |
1707 | MIME-Version: 1.0 |
|
1707 | MIME-Version: 1.0 | |
1708 | Content-Type: text/plain; charset="us-ascii" |
|
1708 | Content-Type: text/plain; charset="us-ascii" | |
1709 | Content-Transfer-Encoding: 7bit |
|
1709 | Content-Transfer-Encoding: 7bit | |
1710 | Subject: [PATCH] test |
|
1710 | Subject: [PATCH] test | |
1711 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1711 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1712 | X-Mercurial-Series-Index: 1 |
|
1712 | X-Mercurial-Series-Index: 1 | |
1713 | X-Mercurial-Series-Total: 1 |
|
1713 | X-Mercurial-Series-Total: 1 | |
1714 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1714 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1715 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1715 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1716 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1716 | User-Agent: Mercurial-patchbomb/* (glob) | |
1717 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1717 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1718 | From: quux |
|
1718 | From: quux | |
1719 | To: foo |
|
1719 | To: foo | |
1720 | Cc: bar |
|
1720 | Cc: bar | |
1721 | Reply-To: baz@example.com |
|
1721 | Reply-To: baz@example.com | |
1722 |
|
1722 | |||
1723 | # HG changeset patch |
|
1723 | # HG changeset patch | |
1724 | # User test |
|
1724 | # User test | |
1725 | # Date 3 0 |
|
1725 | # Date 3 0 | |
1726 | # Thu Jan 01 00:00:03 1970 +0000 |
|
1726 | # Thu Jan 01 00:00:03 1970 +0000 | |
1727 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1727 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1728 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1728 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1729 | c |
|
1729 | c | |
1730 |
|
1730 | |||
1731 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1731 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
1732 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1732 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1733 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1733 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
1734 | @@ -0,0 +1,1 @@ |
|
1734 | @@ -0,0 +1,1 @@ | |
1735 | +c |
|
1735 | +c | |
1736 |
|
1736 | |||
1737 |
|
1737 | |||
1738 | test reply-to via command line: |
|
1738 | test reply-to via command line: | |
1739 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \ |
|
1739 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \ | |
1740 | > --reply-to baz --reply-to fred |
|
1740 | > --reply-to baz --reply-to fred | |
1741 | this patch series consists of 1 patches. |
|
1741 | this patch series consists of 1 patches. | |
1742 |
|
1742 | |||
1743 |
|
1743 | |||
1744 | displaying [PATCH] test ... |
|
1744 | displaying [PATCH] test ... | |
1745 | MIME-Version: 1.0 |
|
1745 | MIME-Version: 1.0 | |
1746 | Content-Type: text/plain; charset="us-ascii" |
|
1746 | Content-Type: text/plain; charset="us-ascii" | |
1747 | Content-Transfer-Encoding: 7bit |
|
1747 | Content-Transfer-Encoding: 7bit | |
1748 | Subject: [PATCH] test |
|
1748 | Subject: [PATCH] test | |
1749 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1749 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1750 | X-Mercurial-Series-Index: 1 |
|
1750 | X-Mercurial-Series-Index: 1 | |
1751 | X-Mercurial-Series-Total: 1 |
|
1751 | X-Mercurial-Series-Total: 1 | |
1752 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1752 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1753 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1753 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1754 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1754 | User-Agent: Mercurial-patchbomb/* (glob) | |
1755 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1755 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1756 | From: quux |
|
1756 | From: quux | |
1757 | To: foo |
|
1757 | To: foo | |
1758 | Cc: bar |
|
1758 | Cc: bar | |
1759 | Reply-To: baz, fred |
|
1759 | Reply-To: baz, fred | |
1760 |
|
1760 | |||
1761 | # HG changeset patch |
|
1761 | # HG changeset patch | |
1762 | # User test |
|
1762 | # User test | |
1763 | # Date 3 0 |
|
1763 | # Date 3 0 | |
1764 | # Thu Jan 01 00:00:03 1970 +0000 |
|
1764 | # Thu Jan 01 00:00:03 1970 +0000 | |
1765 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1765 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1766 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1766 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1767 | c |
|
1767 | c | |
1768 |
|
1768 | |||
1769 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1769 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
1770 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1770 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1771 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1771 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
1772 | @@ -0,0 +1,1 @@ |
|
1772 | @@ -0,0 +1,1 @@ | |
1773 | +c |
|
1773 | +c | |
1774 |
|
1774 | |||
1775 |
|
1775 | |||
1776 | tagging csets: |
|
1776 | tagging csets: | |
1777 | $ hg tag -r0 zero zero.foo |
|
1777 | $ hg tag -r0 zero zero.foo | |
1778 | $ hg tag -r1 one one.patch |
|
1778 | $ hg tag -r1 one one.patch | |
1779 | $ hg tag -r2 two two.diff |
|
1779 | $ hg tag -r2 two two.diff | |
1780 |
|
1780 | |||
1781 | test inline for single named patch: |
|
1781 | test inline for single named patch: | |
1782 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \ |
|
1782 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \ | |
1783 | > -r 2 | filterboundary |
|
1783 | > -r 2 | filterboundary | |
1784 | this patch series consists of 1 patches. |
|
1784 | this patch series consists of 1 patches. | |
1785 |
|
1785 | |||
1786 |
|
1786 | |||
1787 | displaying [PATCH] test ... |
|
1787 | displaying [PATCH] test ... | |
1788 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1788 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1789 | MIME-Version: 1.0 |
|
1789 | MIME-Version: 1.0 | |
1790 | Subject: [PATCH] test |
|
1790 | Subject: [PATCH] test | |
1791 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1791 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1792 | X-Mercurial-Series-Index: 1 |
|
1792 | X-Mercurial-Series-Index: 1 | |
1793 | X-Mercurial-Series-Total: 1 |
|
1793 | X-Mercurial-Series-Total: 1 | |
1794 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1794 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1795 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
1795 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
1796 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1796 | User-Agent: Mercurial-patchbomb/* (glob) | |
1797 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1797 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1798 | From: quux |
|
1798 | From: quux | |
1799 | To: foo |
|
1799 | To: foo | |
1800 | Cc: bar |
|
1800 | Cc: bar | |
1801 |
|
1801 | |||
1802 | --===*= (glob) |
|
1802 | --===*= (glob) | |
1803 | MIME-Version: 1.0 |
|
1803 | MIME-Version: 1.0 | |
1804 | Content-Type: text/x-patch; charset="us-ascii" |
|
1804 | Content-Type: text/x-patch; charset="us-ascii" | |
1805 | Content-Transfer-Encoding: 7bit |
|
1805 | Content-Transfer-Encoding: 7bit | |
1806 | Content-Disposition: inline; filename=two.diff |
|
1806 | Content-Disposition: inline; filename=two.diff | |
1807 |
|
1807 | |||
1808 | # HG changeset patch |
|
1808 | # HG changeset patch | |
1809 | # User test |
|
1809 | # User test | |
1810 | # Date 3 0 |
|
1810 | # Date 3 0 | |
1811 | # Thu Jan 01 00:00:03 1970 +0000 |
|
1811 | # Thu Jan 01 00:00:03 1970 +0000 | |
1812 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
1812 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
1813 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1813 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1814 | c |
|
1814 | c | |
1815 |
|
1815 | |||
1816 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
1816 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
1817 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1817 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1818 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
1818 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
1819 | @@ -0,0 +1,1 @@ |
|
1819 | @@ -0,0 +1,1 @@ | |
1820 | +c |
|
1820 | +c | |
1821 |
|
1821 | |||
1822 | --===*=-- (glob) |
|
1822 | --===*=-- (glob) | |
1823 |
|
1823 | |||
1824 | test inline for multiple named/unnamed patches: |
|
1824 | test inline for multiple named/unnamed patches: | |
1825 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \ |
|
1825 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i \ | |
1826 | > -r 0:1 | filterboundary |
|
1826 | > -r 0:1 | filterboundary | |
1827 | this patch series consists of 2 patches. |
|
1827 | this patch series consists of 2 patches. | |
1828 |
|
1828 | |||
1829 |
|
1829 | |||
1830 | Write the introductory message for the patch series. |
|
1830 | Write the introductory message for the patch series. | |
1831 |
|
1831 | |||
1832 |
|
1832 | |||
1833 | displaying [PATCH 0 of 2] test ... |
|
1833 | displaying [PATCH 0 of 2] test ... | |
1834 | MIME-Version: 1.0 |
|
1834 | MIME-Version: 1.0 | |
1835 | Content-Type: text/plain; charset="us-ascii" |
|
1835 | Content-Type: text/plain; charset="us-ascii" | |
1836 | Content-Transfer-Encoding: 7bit |
|
1836 | Content-Transfer-Encoding: 7bit | |
1837 | Subject: [PATCH 0 of 2] test |
|
1837 | Subject: [PATCH 0 of 2] test | |
1838 | Message-Id: <patchbomb.60@test-hostname> |
|
1838 | Message-Id: <patchbomb.60@test-hostname> | |
1839 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1839 | User-Agent: Mercurial-patchbomb/* (glob) | |
1840 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1840 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1841 | From: quux |
|
1841 | From: quux | |
1842 | To: foo |
|
1842 | To: foo | |
1843 | Cc: bar |
|
1843 | Cc: bar | |
1844 |
|
1844 | |||
1845 |
|
1845 | |||
1846 | displaying [PATCH 1 of 2] a ... |
|
1846 | displaying [PATCH 1 of 2] a ... | |
1847 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1847 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1848 | MIME-Version: 1.0 |
|
1848 | MIME-Version: 1.0 | |
1849 | Subject: [PATCH 1 of 2] a |
|
1849 | Subject: [PATCH 1 of 2] a | |
1850 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1850 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1851 | X-Mercurial-Series-Index: 1 |
|
1851 | X-Mercurial-Series-Index: 1 | |
1852 | X-Mercurial-Series-Total: 2 |
|
1852 | X-Mercurial-Series-Total: 2 | |
1853 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1853 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1854 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1854 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1855 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1855 | In-Reply-To: <patchbomb.60@test-hostname> | |
1856 | References: <patchbomb.60@test-hostname> |
|
1856 | References: <patchbomb.60@test-hostname> | |
1857 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1857 | User-Agent: Mercurial-patchbomb/* (glob) | |
1858 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
1858 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
1859 | From: quux |
|
1859 | From: quux | |
1860 | To: foo |
|
1860 | To: foo | |
1861 | Cc: bar |
|
1861 | Cc: bar | |
1862 |
|
1862 | |||
1863 | --===*= (glob) |
|
1863 | --===*= (glob) | |
1864 | MIME-Version: 1.0 |
|
1864 | MIME-Version: 1.0 | |
1865 | Content-Type: text/x-patch; charset="us-ascii" |
|
1865 | Content-Type: text/x-patch; charset="us-ascii" | |
1866 | Content-Transfer-Encoding: 7bit |
|
1866 | Content-Transfer-Encoding: 7bit | |
1867 | Content-Disposition: inline; filename=t2-1.patch |
|
1867 | Content-Disposition: inline; filename=t2-1.patch | |
1868 |
|
1868 | |||
1869 | # HG changeset patch |
|
1869 | # HG changeset patch | |
1870 | # User test |
|
1870 | # User test | |
1871 | # Date 1 0 |
|
1871 | # Date 1 0 | |
1872 | # Thu Jan 01 00:00:01 1970 +0000 |
|
1872 | # Thu Jan 01 00:00:01 1970 +0000 | |
1873 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1873 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1874 | # Parent 0000000000000000000000000000000000000000 |
|
1874 | # Parent 0000000000000000000000000000000000000000 | |
1875 | a |
|
1875 | a | |
1876 |
|
1876 | |||
1877 | diff -r 000000000000 -r 8580ff50825a a |
|
1877 | diff -r 000000000000 -r 8580ff50825a a | |
1878 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1878 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1879 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
1879 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
1880 | @@ -0,0 +1,1 @@ |
|
1880 | @@ -0,0 +1,1 @@ | |
1881 | +a |
|
1881 | +a | |
1882 |
|
1882 | |||
1883 | --===*=-- (glob) |
|
1883 | --===*=-- (glob) | |
1884 | displaying [PATCH 2 of 2] b ... |
|
1884 | displaying [PATCH 2 of 2] b ... | |
1885 | Content-Type: multipart/mixed; boundary="===*==" (glob) |
|
1885 | Content-Type: multipart/mixed; boundary="===*==" (glob) | |
1886 | MIME-Version: 1.0 |
|
1886 | MIME-Version: 1.0 | |
1887 | Subject: [PATCH 2 of 2] b |
|
1887 | Subject: [PATCH 2 of 2] b | |
1888 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1888 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1889 | X-Mercurial-Series-Index: 2 |
|
1889 | X-Mercurial-Series-Index: 2 | |
1890 | X-Mercurial-Series-Total: 2 |
|
1890 | X-Mercurial-Series-Total: 2 | |
1891 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
1891 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
1892 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
1892 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
1893 | In-Reply-To: <patchbomb.60@test-hostname> |
|
1893 | In-Reply-To: <patchbomb.60@test-hostname> | |
1894 | References: <patchbomb.60@test-hostname> |
|
1894 | References: <patchbomb.60@test-hostname> | |
1895 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1895 | User-Agent: Mercurial-patchbomb/* (glob) | |
1896 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
1896 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
1897 | From: quux |
|
1897 | From: quux | |
1898 | To: foo |
|
1898 | To: foo | |
1899 | Cc: bar |
|
1899 | Cc: bar | |
1900 |
|
1900 | |||
1901 | --===*= (glob) |
|
1901 | --===*= (glob) | |
1902 | MIME-Version: 1.0 |
|
1902 | MIME-Version: 1.0 | |
1903 | Content-Type: text/x-patch; charset="us-ascii" |
|
1903 | Content-Type: text/x-patch; charset="us-ascii" | |
1904 | Content-Transfer-Encoding: 7bit |
|
1904 | Content-Transfer-Encoding: 7bit | |
1905 | Content-Disposition: inline; filename=one.patch |
|
1905 | Content-Disposition: inline; filename=one.patch | |
1906 |
|
1906 | |||
1907 | # HG changeset patch |
|
1907 | # HG changeset patch | |
1908 | # User test |
|
1908 | # User test | |
1909 | # Date 2 0 |
|
1909 | # Date 2 0 | |
1910 | # Thu Jan 01 00:00:02 1970 +0000 |
|
1910 | # Thu Jan 01 00:00:02 1970 +0000 | |
1911 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
1911 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
1912 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1912 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1913 | b |
|
1913 | b | |
1914 |
|
1914 | |||
1915 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
1915 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
1916 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
1916 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
1917 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
1917 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
1918 | @@ -0,0 +1,1 @@ |
|
1918 | @@ -0,0 +1,1 @@ | |
1919 | +b |
|
1919 | +b | |
1920 |
|
1920 | |||
1921 | --===*=-- (glob) |
|
1921 | --===*=-- (glob) | |
1922 |
|
1922 | |||
1923 |
|
1923 | |||
1924 | test inreplyto: |
|
1924 | test inreplyto: | |
1925 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \ |
|
1925 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \ | |
1926 | > -r tip |
|
1926 | > -r tip | |
1927 | this patch series consists of 1 patches. |
|
1927 | this patch series consists of 1 patches. | |
1928 |
|
1928 | |||
1929 |
|
1929 | |||
1930 | displaying [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b ... |
|
1930 | displaying [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b ... | |
1931 | MIME-Version: 1.0 |
|
1931 | MIME-Version: 1.0 | |
1932 | Content-Type: text/plain; charset="us-ascii" |
|
1932 | Content-Type: text/plain; charset="us-ascii" | |
1933 | Content-Transfer-Encoding: 7bit |
|
1933 | Content-Transfer-Encoding: 7bit | |
1934 | Subject: [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b |
|
1934 | Subject: [PATCH] Added tag two, two.diff for changeset ff2c9fa2018b | |
1935 | X-Mercurial-Node: 9cea7492c36bdda2c72e7dd5f35f7fc367adeb2c |
|
1935 | X-Mercurial-Node: 9cea7492c36bdda2c72e7dd5f35f7fc367adeb2c | |
1936 | X-Mercurial-Series-Index: 1 |
|
1936 | X-Mercurial-Series-Index: 1 | |
1937 | X-Mercurial-Series-Total: 1 |
|
1937 | X-Mercurial-Series-Total: 1 | |
1938 | Message-Id: <9cea7492c36bdda2c72e.60@test-hostname> |
|
1938 | Message-Id: <9cea7492c36bdda2c72e.60@test-hostname> | |
1939 | X-Mercurial-Series-Id: <9cea7492c36bdda2c72e.60@test-hostname> |
|
1939 | X-Mercurial-Series-Id: <9cea7492c36bdda2c72e.60@test-hostname> | |
1940 | In-Reply-To: <baz> |
|
1940 | In-Reply-To: <baz> | |
1941 | References: <baz> |
|
1941 | References: <baz> | |
1942 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1942 | User-Agent: Mercurial-patchbomb/* (glob) | |
1943 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1943 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1944 | From: quux |
|
1944 | From: quux | |
1945 | To: foo |
|
1945 | To: foo | |
1946 | Cc: bar |
|
1946 | Cc: bar | |
1947 |
|
1947 | |||
1948 | # HG changeset patch |
|
1948 | # HG changeset patch | |
1949 | # User test |
|
1949 | # User test | |
1950 | # Date 0 0 |
|
1950 | # Date 0 0 | |
1951 | # Thu Jan 01 00:00:00 1970 +0000 |
|
1951 | # Thu Jan 01 00:00:00 1970 +0000 | |
1952 | # Node ID 9cea7492c36bdda2c72e7dd5f35f7fc367adeb2c |
|
1952 | # Node ID 9cea7492c36bdda2c72e7dd5f35f7fc367adeb2c | |
1953 | # Parent 3b775b32716d9b54291ccddf0a36ceea45449bfb |
|
1953 | # Parent 3b775b32716d9b54291ccddf0a36ceea45449bfb | |
1954 | Added tag two, two.diff for changeset ff2c9fa2018b |
|
1954 | Added tag two, two.diff for changeset ff2c9fa2018b | |
1955 |
|
1955 | |||
1956 | diff -r 3b775b32716d -r 9cea7492c36b .hgtags |
|
1956 | diff -r 3b775b32716d -r 9cea7492c36b .hgtags | |
1957 | --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000 |
|
1957 | --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000 | |
1958 | +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000 |
|
1958 | +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000 | |
1959 | @@ -2,3 +2,5 @@ |
|
1959 | @@ -2,3 +2,5 @@ | |
1960 | 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo |
|
1960 | 8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo | |
1961 | 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one |
|
1961 | 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one | |
1962 | 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch |
|
1962 | 97d72e5f12c7e84f85064aa72e5a297142c36ed9 one.patch | |
1963 | +ff2c9fa2018b15fa74b33363bda9527323e2a99f two |
|
1963 | +ff2c9fa2018b15fa74b33363bda9527323e2a99f two | |
1964 | +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff |
|
1964 | +ff2c9fa2018b15fa74b33363bda9527323e2a99f two.diff | |
1965 |
|
1965 | |||
1966 | no intro message in non-interactive mode |
|
1966 | no intro message in non-interactive mode | |
1967 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \ |
|
1967 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \ | |
1968 | > -r 0:1 |
|
1968 | > -r 0:1 | |
1969 | this patch series consists of 2 patches. |
|
1969 | this patch series consists of 2 patches. | |
1970 |
|
1970 | |||
1971 | (optional) Subject: [PATCH 0 of 2] |
|
1971 | (optional) Subject: [PATCH 0 of 2] | |
1972 |
|
1972 | |||
1973 | displaying [PATCH 1 of 2] a ... |
|
1973 | displaying [PATCH 1 of 2] a ... | |
1974 | MIME-Version: 1.0 |
|
1974 | MIME-Version: 1.0 | |
1975 | Content-Type: text/plain; charset="us-ascii" |
|
1975 | Content-Type: text/plain; charset="us-ascii" | |
1976 | Content-Transfer-Encoding: 7bit |
|
1976 | Content-Transfer-Encoding: 7bit | |
1977 | Subject: [PATCH 1 of 2] a |
|
1977 | Subject: [PATCH 1 of 2] a | |
1978 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1978 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1979 | X-Mercurial-Series-Index: 1 |
|
1979 | X-Mercurial-Series-Index: 1 | |
1980 | X-Mercurial-Series-Total: 2 |
|
1980 | X-Mercurial-Series-Total: 2 | |
1981 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
1981 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> | |
1982 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
1982 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> | |
1983 | In-Reply-To: <baz> |
|
1983 | In-Reply-To: <baz> | |
1984 | References: <baz> |
|
1984 | References: <baz> | |
1985 | User-Agent: Mercurial-patchbomb/* (glob) |
|
1985 | User-Agent: Mercurial-patchbomb/* (glob) | |
1986 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
1986 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
1987 | From: quux |
|
1987 | From: quux | |
1988 | To: foo |
|
1988 | To: foo | |
1989 | Cc: bar |
|
1989 | Cc: bar | |
1990 |
|
1990 | |||
1991 | # HG changeset patch |
|
1991 | # HG changeset patch | |
1992 | # User test |
|
1992 | # User test | |
1993 | # Date 1 0 |
|
1993 | # Date 1 0 | |
1994 | # Thu Jan 01 00:00:01 1970 +0000 |
|
1994 | # Thu Jan 01 00:00:01 1970 +0000 | |
1995 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
1995 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
1996 | # Parent 0000000000000000000000000000000000000000 |
|
1996 | # Parent 0000000000000000000000000000000000000000 | |
1997 | a |
|
1997 | a | |
1998 |
|
1998 | |||
1999 | diff -r 000000000000 -r 8580ff50825a a |
|
1999 | diff -r 000000000000 -r 8580ff50825a a | |
2000 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2000 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2001 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
2001 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
2002 | @@ -0,0 +1,1 @@ |
|
2002 | @@ -0,0 +1,1 @@ | |
2003 | +a |
|
2003 | +a | |
2004 |
|
2004 | |||
2005 | displaying [PATCH 2 of 2] b ... |
|
2005 | displaying [PATCH 2 of 2] b ... | |
2006 | MIME-Version: 1.0 |
|
2006 | MIME-Version: 1.0 | |
2007 | Content-Type: text/plain; charset="us-ascii" |
|
2007 | Content-Type: text/plain; charset="us-ascii" | |
2008 | Content-Transfer-Encoding: 7bit |
|
2008 | Content-Transfer-Encoding: 7bit | |
2009 | Subject: [PATCH 2 of 2] b |
|
2009 | Subject: [PATCH 2 of 2] b | |
2010 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2010 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2011 | X-Mercurial-Series-Index: 2 |
|
2011 | X-Mercurial-Series-Index: 2 | |
2012 | X-Mercurial-Series-Total: 2 |
|
2012 | X-Mercurial-Series-Total: 2 | |
2013 | Message-Id: <97d72e5f12c7e84f8506.61@test-hostname> |
|
2013 | Message-Id: <97d72e5f12c7e84f8506.61@test-hostname> | |
2014 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
2014 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> | |
2015 | In-Reply-To: <baz> |
|
2015 | In-Reply-To: <baz> | |
2016 | References: <baz> |
|
2016 | References: <baz> | |
2017 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2017 | User-Agent: Mercurial-patchbomb/* (glob) | |
2018 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
2018 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
2019 | From: quux |
|
2019 | From: quux | |
2020 | To: foo |
|
2020 | To: foo | |
2021 | Cc: bar |
|
2021 | Cc: bar | |
2022 |
|
2022 | |||
2023 | # HG changeset patch |
|
2023 | # HG changeset patch | |
2024 | # User test |
|
2024 | # User test | |
2025 | # Date 2 0 |
|
2025 | # Date 2 0 | |
2026 | # Thu Jan 01 00:00:02 1970 +0000 |
|
2026 | # Thu Jan 01 00:00:02 1970 +0000 | |
2027 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2027 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2028 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2028 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2029 | b |
|
2029 | b | |
2030 |
|
2030 | |||
2031 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
2031 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
2032 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2032 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2033 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
2033 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
2034 | @@ -0,0 +1,1 @@ |
|
2034 | @@ -0,0 +1,1 @@ | |
2035 | +b |
|
2035 | +b | |
2036 |
|
2036 | |||
2037 |
|
2037 | |||
2038 |
|
2038 | |||
2039 |
|
2039 | |||
2040 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \ |
|
2040 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \ | |
2041 | > -s test -r 0:1 |
|
2041 | > -s test -r 0:1 | |
2042 | this patch series consists of 2 patches. |
|
2042 | this patch series consists of 2 patches. | |
2043 |
|
2043 | |||
2044 |
|
2044 | |||
2045 | Write the introductory message for the patch series. |
|
2045 | Write the introductory message for the patch series. | |
2046 |
|
2046 | |||
2047 |
|
2047 | |||
2048 | displaying [PATCH 0 of 2] test ... |
|
2048 | displaying [PATCH 0 of 2] test ... | |
2049 | MIME-Version: 1.0 |
|
2049 | MIME-Version: 1.0 | |
2050 | Content-Type: text/plain; charset="us-ascii" |
|
2050 | Content-Type: text/plain; charset="us-ascii" | |
2051 | Content-Transfer-Encoding: 7bit |
|
2051 | Content-Transfer-Encoding: 7bit | |
2052 | Subject: [PATCH 0 of 2] test |
|
2052 | Subject: [PATCH 0 of 2] test | |
2053 | Message-Id: <patchbomb.60@test-hostname> |
|
2053 | Message-Id: <patchbomb.60@test-hostname> | |
2054 | In-Reply-To: <baz> |
|
2054 | In-Reply-To: <baz> | |
2055 | References: <baz> |
|
2055 | References: <baz> | |
2056 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2056 | User-Agent: Mercurial-patchbomb/* (glob) | |
2057 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
2057 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
2058 | From: quux |
|
2058 | From: quux | |
2059 | To: foo |
|
2059 | To: foo | |
2060 | Cc: bar |
|
2060 | Cc: bar | |
2061 |
|
2061 | |||
2062 |
|
2062 | |||
2063 | displaying [PATCH 1 of 2] a ... |
|
2063 | displaying [PATCH 1 of 2] a ... | |
2064 | MIME-Version: 1.0 |
|
2064 | MIME-Version: 1.0 | |
2065 | Content-Type: text/plain; charset="us-ascii" |
|
2065 | Content-Type: text/plain; charset="us-ascii" | |
2066 | Content-Transfer-Encoding: 7bit |
|
2066 | Content-Transfer-Encoding: 7bit | |
2067 | Subject: [PATCH 1 of 2] a |
|
2067 | Subject: [PATCH 1 of 2] a | |
2068 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2068 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2069 | X-Mercurial-Series-Index: 1 |
|
2069 | X-Mercurial-Series-Index: 1 | |
2070 | X-Mercurial-Series-Total: 2 |
|
2070 | X-Mercurial-Series-Total: 2 | |
2071 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2071 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2072 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2072 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2073 | In-Reply-To: <patchbomb.60@test-hostname> |
|
2073 | In-Reply-To: <patchbomb.60@test-hostname> | |
2074 | References: <patchbomb.60@test-hostname> |
|
2074 | References: <patchbomb.60@test-hostname> | |
2075 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2075 | User-Agent: Mercurial-patchbomb/* (glob) | |
2076 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
2076 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
2077 | From: quux |
|
2077 | From: quux | |
2078 | To: foo |
|
2078 | To: foo | |
2079 | Cc: bar |
|
2079 | Cc: bar | |
2080 |
|
2080 | |||
2081 | # HG changeset patch |
|
2081 | # HG changeset patch | |
2082 | # User test |
|
2082 | # User test | |
2083 | # Date 1 0 |
|
2083 | # Date 1 0 | |
2084 | # Thu Jan 01 00:00:01 1970 +0000 |
|
2084 | # Thu Jan 01 00:00:01 1970 +0000 | |
2085 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2085 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2086 | # Parent 0000000000000000000000000000000000000000 |
|
2086 | # Parent 0000000000000000000000000000000000000000 | |
2087 | a |
|
2087 | a | |
2088 |
|
2088 | |||
2089 | diff -r 000000000000 -r 8580ff50825a a |
|
2089 | diff -r 000000000000 -r 8580ff50825a a | |
2090 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2090 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2091 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
2091 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
2092 | @@ -0,0 +1,1 @@ |
|
2092 | @@ -0,0 +1,1 @@ | |
2093 | +a |
|
2093 | +a | |
2094 |
|
2094 | |||
2095 | displaying [PATCH 2 of 2] b ... |
|
2095 | displaying [PATCH 2 of 2] b ... | |
2096 | MIME-Version: 1.0 |
|
2096 | MIME-Version: 1.0 | |
2097 | Content-Type: text/plain; charset="us-ascii" |
|
2097 | Content-Type: text/plain; charset="us-ascii" | |
2098 | Content-Transfer-Encoding: 7bit |
|
2098 | Content-Transfer-Encoding: 7bit | |
2099 | Subject: [PATCH 2 of 2] b |
|
2099 | Subject: [PATCH 2 of 2] b | |
2100 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2100 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2101 | X-Mercurial-Series-Index: 2 |
|
2101 | X-Mercurial-Series-Index: 2 | |
2102 | X-Mercurial-Series-Total: 2 |
|
2102 | X-Mercurial-Series-Total: 2 | |
2103 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
2103 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
2104 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2104 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2105 | In-Reply-To: <patchbomb.60@test-hostname> |
|
2105 | In-Reply-To: <patchbomb.60@test-hostname> | |
2106 | References: <patchbomb.60@test-hostname> |
|
2106 | References: <patchbomb.60@test-hostname> | |
2107 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2107 | User-Agent: Mercurial-patchbomb/* (glob) | |
2108 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
2108 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
2109 | From: quux |
|
2109 | From: quux | |
2110 | To: foo |
|
2110 | To: foo | |
2111 | Cc: bar |
|
2111 | Cc: bar | |
2112 |
|
2112 | |||
2113 | # HG changeset patch |
|
2113 | # HG changeset patch | |
2114 | # User test |
|
2114 | # User test | |
2115 | # Date 2 0 |
|
2115 | # Date 2 0 | |
2116 | # Thu Jan 01 00:00:02 1970 +0000 |
|
2116 | # Thu Jan 01 00:00:02 1970 +0000 | |
2117 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2117 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2118 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2118 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2119 | b |
|
2119 | b | |
2120 |
|
2120 | |||
2121 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
2121 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
2122 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2122 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2123 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
2123 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
2124 | @@ -0,0 +1,1 @@ |
|
2124 | @@ -0,0 +1,1 @@ | |
2125 | +b |
|
2125 | +b | |
2126 |
|
2126 | |||
2127 |
|
2127 | |||
2128 | test single flag for single patch (and no warning when not mailing dirty rev): |
|
2128 | test single flag for single patch (and no warning when not mailing dirty rev): | |
2129 | $ hg up -qr1 |
|
2129 | $ hg up -qr1 | |
2130 | $ echo dirt > a |
|
2130 | $ echo dirt > a | |
2131 | $ hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \ |
|
2131 | $ hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \ | |
2132 | > -r 2 | filterboundary |
|
2132 | > -r 2 | filterboundary | |
2133 | this patch series consists of 1 patches. |
|
2133 | this patch series consists of 1 patches. | |
2134 |
|
2134 | |||
2135 |
|
2135 | |||
2136 | displaying [PATCH fooFlag] test ... |
|
2136 | displaying [PATCH fooFlag] test ... | |
2137 | MIME-Version: 1.0 |
|
2137 | MIME-Version: 1.0 | |
2138 | Content-Type: text/plain; charset="us-ascii" |
|
2138 | Content-Type: text/plain; charset="us-ascii" | |
2139 | Content-Transfer-Encoding: 7bit |
|
2139 | Content-Transfer-Encoding: 7bit | |
2140 | Subject: [PATCH fooFlag] test |
|
2140 | Subject: [PATCH fooFlag] test | |
2141 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
2141 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
2142 | X-Mercurial-Series-Index: 1 |
|
2142 | X-Mercurial-Series-Index: 1 | |
2143 | X-Mercurial-Series-Total: 1 |
|
2143 | X-Mercurial-Series-Total: 1 | |
2144 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
2144 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
2145 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
2145 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
2146 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2146 | User-Agent: Mercurial-patchbomb/* (glob) | |
2147 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
2147 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
2148 | From: quux |
|
2148 | From: quux | |
2149 | To: foo |
|
2149 | To: foo | |
2150 | Cc: bar |
|
2150 | Cc: bar | |
2151 |
|
2151 | |||
2152 | # HG changeset patch |
|
2152 | # HG changeset patch | |
2153 | # User test |
|
2153 | # User test | |
2154 | # Date 3 0 |
|
2154 | # Date 3 0 | |
2155 | # Thu Jan 01 00:00:03 1970 +0000 |
|
2155 | # Thu Jan 01 00:00:03 1970 +0000 | |
2156 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
2156 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
2157 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2157 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2158 | c |
|
2158 | c | |
2159 |
|
2159 | |||
2160 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
2160 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
2161 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2161 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2162 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
2162 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
2163 | @@ -0,0 +1,1 @@ |
|
2163 | @@ -0,0 +1,1 @@ | |
2164 | +c |
|
2164 | +c | |
2165 |
|
2165 | |||
2166 |
|
2166 | |||
2167 | test single flag for multiple patches (and warning when mailing dirty rev): |
|
2167 | test single flag for multiple patches (and warning when mailing dirty rev): | |
2168 | $ hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \ |
|
2168 | $ hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \ | |
2169 | > -r 0:1 |
|
2169 | > -r 0:1 | |
2170 | warning: working directory has uncommitted changes |
|
2170 | warning: working directory has uncommitted changes | |
2171 | this patch series consists of 2 patches. |
|
2171 | this patch series consists of 2 patches. | |
2172 |
|
2172 | |||
2173 |
|
2173 | |||
2174 | Write the introductory message for the patch series. |
|
2174 | Write the introductory message for the patch series. | |
2175 |
|
2175 | |||
2176 |
|
2176 | |||
2177 | displaying [PATCH 0 of 2 fooFlag] test ... |
|
2177 | displaying [PATCH 0 of 2 fooFlag] test ... | |
2178 | MIME-Version: 1.0 |
|
2178 | MIME-Version: 1.0 | |
2179 | Content-Type: text/plain; charset="us-ascii" |
|
2179 | Content-Type: text/plain; charset="us-ascii" | |
2180 | Content-Transfer-Encoding: 7bit |
|
2180 | Content-Transfer-Encoding: 7bit | |
2181 | Subject: [PATCH 0 of 2 fooFlag] test |
|
2181 | Subject: [PATCH 0 of 2 fooFlag] test | |
2182 | Message-Id: <patchbomb.60@test-hostname> |
|
2182 | Message-Id: <patchbomb.60@test-hostname> | |
2183 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2183 | User-Agent: Mercurial-patchbomb/* (glob) | |
2184 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
2184 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
2185 | From: quux |
|
2185 | From: quux | |
2186 | To: foo |
|
2186 | To: foo | |
2187 | Cc: bar |
|
2187 | Cc: bar | |
2188 |
|
2188 | |||
2189 |
|
2189 | |||
2190 | displaying [PATCH 1 of 2 fooFlag] a ... |
|
2190 | displaying [PATCH 1 of 2 fooFlag] a ... | |
2191 | MIME-Version: 1.0 |
|
2191 | MIME-Version: 1.0 | |
2192 | Content-Type: text/plain; charset="us-ascii" |
|
2192 | Content-Type: text/plain; charset="us-ascii" | |
2193 | Content-Transfer-Encoding: 7bit |
|
2193 | Content-Transfer-Encoding: 7bit | |
2194 | Subject: [PATCH 1 of 2 fooFlag] a |
|
2194 | Subject: [PATCH 1 of 2 fooFlag] a | |
2195 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2195 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2196 | X-Mercurial-Series-Index: 1 |
|
2196 | X-Mercurial-Series-Index: 1 | |
2197 | X-Mercurial-Series-Total: 2 |
|
2197 | X-Mercurial-Series-Total: 2 | |
2198 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2198 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2199 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2199 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2200 | In-Reply-To: <patchbomb.60@test-hostname> |
|
2200 | In-Reply-To: <patchbomb.60@test-hostname> | |
2201 | References: <patchbomb.60@test-hostname> |
|
2201 | References: <patchbomb.60@test-hostname> | |
2202 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2202 | User-Agent: Mercurial-patchbomb/* (glob) | |
2203 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
2203 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
2204 | From: quux |
|
2204 | From: quux | |
2205 | To: foo |
|
2205 | To: foo | |
2206 | Cc: bar |
|
2206 | Cc: bar | |
2207 |
|
2207 | |||
2208 | # HG changeset patch |
|
2208 | # HG changeset patch | |
2209 | # User test |
|
2209 | # User test | |
2210 | # Date 1 0 |
|
2210 | # Date 1 0 | |
2211 | # Thu Jan 01 00:00:01 1970 +0000 |
|
2211 | # Thu Jan 01 00:00:01 1970 +0000 | |
2212 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2212 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2213 | # Parent 0000000000000000000000000000000000000000 |
|
2213 | # Parent 0000000000000000000000000000000000000000 | |
2214 | a |
|
2214 | a | |
2215 |
|
2215 | |||
2216 | diff -r 000000000000 -r 8580ff50825a a |
|
2216 | diff -r 000000000000 -r 8580ff50825a a | |
2217 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2217 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2218 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
2218 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
2219 | @@ -0,0 +1,1 @@ |
|
2219 | @@ -0,0 +1,1 @@ | |
2220 | +a |
|
2220 | +a | |
2221 |
|
2221 | |||
2222 | displaying [PATCH 2 of 2 fooFlag] b ... |
|
2222 | displaying [PATCH 2 of 2 fooFlag] b ... | |
2223 | MIME-Version: 1.0 |
|
2223 | MIME-Version: 1.0 | |
2224 | Content-Type: text/plain; charset="us-ascii" |
|
2224 | Content-Type: text/plain; charset="us-ascii" | |
2225 | Content-Transfer-Encoding: 7bit |
|
2225 | Content-Transfer-Encoding: 7bit | |
2226 | Subject: [PATCH 2 of 2 fooFlag] b |
|
2226 | Subject: [PATCH 2 of 2 fooFlag] b | |
2227 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2227 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2228 | X-Mercurial-Series-Index: 2 |
|
2228 | X-Mercurial-Series-Index: 2 | |
2229 | X-Mercurial-Series-Total: 2 |
|
2229 | X-Mercurial-Series-Total: 2 | |
2230 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
2230 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
2231 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2231 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2232 | In-Reply-To: <patchbomb.60@test-hostname> |
|
2232 | In-Reply-To: <patchbomb.60@test-hostname> | |
2233 | References: <patchbomb.60@test-hostname> |
|
2233 | References: <patchbomb.60@test-hostname> | |
2234 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2234 | User-Agent: Mercurial-patchbomb/* (glob) | |
2235 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
2235 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
2236 | From: quux |
|
2236 | From: quux | |
2237 | To: foo |
|
2237 | To: foo | |
2238 | Cc: bar |
|
2238 | Cc: bar | |
2239 |
|
2239 | |||
2240 | # HG changeset patch |
|
2240 | # HG changeset patch | |
2241 | # User test |
|
2241 | # User test | |
2242 | # Date 2 0 |
|
2242 | # Date 2 0 | |
2243 | # Thu Jan 01 00:00:02 1970 +0000 |
|
2243 | # Thu Jan 01 00:00:02 1970 +0000 | |
2244 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2244 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2245 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2245 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2246 | b |
|
2246 | b | |
2247 |
|
2247 | |||
2248 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
2248 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
2249 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2249 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2250 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
2250 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
2251 | @@ -0,0 +1,1 @@ |
|
2251 | @@ -0,0 +1,1 @@ | |
2252 | +b |
|
2252 | +b | |
2253 |
|
2253 | |||
2254 | $ hg revert --no-b a |
|
2254 | $ hg revert --no-b a | |
2255 | $ hg up -q |
|
2255 | $ hg up -q | |
2256 |
|
2256 | |||
2257 | test multiple flags for single patch: |
|
2257 | test multiple flags for single patch: | |
2258 | $ hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \ |
|
2258 | $ hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \ | |
2259 | > -c bar -s test -r 2 |
|
2259 | > -c bar -s test -r 2 | |
2260 | this patch series consists of 1 patches. |
|
2260 | this patch series consists of 1 patches. | |
2261 |
|
2261 | |||
2262 |
|
2262 | |||
2263 | displaying [PATCH fooFlag barFlag] test ... |
|
2263 | displaying [PATCH fooFlag barFlag] test ... | |
2264 | MIME-Version: 1.0 |
|
2264 | MIME-Version: 1.0 | |
2265 | Content-Type: text/plain; charset="us-ascii" |
|
2265 | Content-Type: text/plain; charset="us-ascii" | |
2266 | Content-Transfer-Encoding: 7bit |
|
2266 | Content-Transfer-Encoding: 7bit | |
2267 | Subject: [PATCH fooFlag barFlag] test |
|
2267 | Subject: [PATCH fooFlag barFlag] test | |
2268 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
2268 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
2269 | X-Mercurial-Series-Index: 1 |
|
2269 | X-Mercurial-Series-Index: 1 | |
2270 | X-Mercurial-Series-Total: 1 |
|
2270 | X-Mercurial-Series-Total: 1 | |
2271 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
2271 | Message-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
2272 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> |
|
2272 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.60@test-hostname> | |
2273 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2273 | User-Agent: Mercurial-patchbomb/* (glob) | |
2274 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
2274 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
2275 | From: quux |
|
2275 | From: quux | |
2276 | To: foo |
|
2276 | To: foo | |
2277 | Cc: bar |
|
2277 | Cc: bar | |
2278 |
|
2278 | |||
2279 | # HG changeset patch |
|
2279 | # HG changeset patch | |
2280 | # User test |
|
2280 | # User test | |
2281 | # Date 3 0 |
|
2281 | # Date 3 0 | |
2282 | # Thu Jan 01 00:00:03 1970 +0000 |
|
2282 | # Thu Jan 01 00:00:03 1970 +0000 | |
2283 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
2283 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
2284 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2284 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2285 | c |
|
2285 | c | |
2286 |
|
2286 | |||
2287 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
2287 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
2288 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2288 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2289 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
2289 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
2290 | @@ -0,0 +1,1 @@ |
|
2290 | @@ -0,0 +1,1 @@ | |
2291 | +c |
|
2291 | +c | |
2292 |
|
2292 | |||
2293 |
|
2293 | |||
2294 | test multiple flags for multiple patches: |
|
2294 | test multiple flags for multiple patches: | |
2295 | $ hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \ |
|
2295 | $ hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \ | |
2296 | > -c bar -s test -r 0:1 |
|
2296 | > -c bar -s test -r 0:1 | |
2297 | this patch series consists of 2 patches. |
|
2297 | this patch series consists of 2 patches. | |
2298 |
|
2298 | |||
2299 |
|
2299 | |||
2300 | Write the introductory message for the patch series. |
|
2300 | Write the introductory message for the patch series. | |
2301 |
|
2301 | |||
2302 |
|
2302 | |||
2303 | displaying [PATCH 0 of 2 fooFlag barFlag] test ... |
|
2303 | displaying [PATCH 0 of 2 fooFlag barFlag] test ... | |
2304 | MIME-Version: 1.0 |
|
2304 | MIME-Version: 1.0 | |
2305 | Content-Type: text/plain; charset="us-ascii" |
|
2305 | Content-Type: text/plain; charset="us-ascii" | |
2306 | Content-Transfer-Encoding: 7bit |
|
2306 | Content-Transfer-Encoding: 7bit | |
2307 | Subject: [PATCH 0 of 2 fooFlag barFlag] test |
|
2307 | Subject: [PATCH 0 of 2 fooFlag barFlag] test | |
2308 | Message-Id: <patchbomb.60@test-hostname> |
|
2308 | Message-Id: <patchbomb.60@test-hostname> | |
2309 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2309 | User-Agent: Mercurial-patchbomb/* (glob) | |
2310 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
2310 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
2311 | From: quux |
|
2311 | From: quux | |
2312 | To: foo |
|
2312 | To: foo | |
2313 | Cc: bar |
|
2313 | Cc: bar | |
2314 |
|
2314 | |||
2315 |
|
2315 | |||
2316 | displaying [PATCH 1 of 2 fooFlag barFlag] a ... |
|
2316 | displaying [PATCH 1 of 2 fooFlag barFlag] a ... | |
2317 | MIME-Version: 1.0 |
|
2317 | MIME-Version: 1.0 | |
2318 | Content-Type: text/plain; charset="us-ascii" |
|
2318 | Content-Type: text/plain; charset="us-ascii" | |
2319 | Content-Transfer-Encoding: 7bit |
|
2319 | Content-Transfer-Encoding: 7bit | |
2320 | Subject: [PATCH 1 of 2 fooFlag barFlag] a |
|
2320 | Subject: [PATCH 1 of 2 fooFlag barFlag] a | |
2321 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2321 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2322 | X-Mercurial-Series-Index: 1 |
|
2322 | X-Mercurial-Series-Index: 1 | |
2323 | X-Mercurial-Series-Total: 2 |
|
2323 | X-Mercurial-Series-Total: 2 | |
2324 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2324 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2325 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2325 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2326 | In-Reply-To: <patchbomb.60@test-hostname> |
|
2326 | In-Reply-To: <patchbomb.60@test-hostname> | |
2327 | References: <patchbomb.60@test-hostname> |
|
2327 | References: <patchbomb.60@test-hostname> | |
2328 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2328 | User-Agent: Mercurial-patchbomb/* (glob) | |
2329 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
2329 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
2330 | From: quux |
|
2330 | From: quux | |
2331 | To: foo |
|
2331 | To: foo | |
2332 | Cc: bar |
|
2332 | Cc: bar | |
2333 |
|
2333 | |||
2334 | # HG changeset patch |
|
2334 | # HG changeset patch | |
2335 | # User test |
|
2335 | # User test | |
2336 | # Date 1 0 |
|
2336 | # Date 1 0 | |
2337 | # Thu Jan 01 00:00:01 1970 +0000 |
|
2337 | # Thu Jan 01 00:00:01 1970 +0000 | |
2338 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2338 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2339 | # Parent 0000000000000000000000000000000000000000 |
|
2339 | # Parent 0000000000000000000000000000000000000000 | |
2340 | a |
|
2340 | a | |
2341 |
|
2341 | |||
2342 | diff -r 000000000000 -r 8580ff50825a a |
|
2342 | diff -r 000000000000 -r 8580ff50825a a | |
2343 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2343 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2344 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
2344 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
2345 | @@ -0,0 +1,1 @@ |
|
2345 | @@ -0,0 +1,1 @@ | |
2346 | +a |
|
2346 | +a | |
2347 |
|
2347 | |||
2348 | displaying [PATCH 2 of 2 fooFlag barFlag] b ... |
|
2348 | displaying [PATCH 2 of 2 fooFlag barFlag] b ... | |
2349 | MIME-Version: 1.0 |
|
2349 | MIME-Version: 1.0 | |
2350 | Content-Type: text/plain; charset="us-ascii" |
|
2350 | Content-Type: text/plain; charset="us-ascii" | |
2351 | Content-Transfer-Encoding: 7bit |
|
2351 | Content-Transfer-Encoding: 7bit | |
2352 | Subject: [PATCH 2 of 2 fooFlag barFlag] b |
|
2352 | Subject: [PATCH 2 of 2 fooFlag barFlag] b | |
2353 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2353 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2354 | X-Mercurial-Series-Index: 2 |
|
2354 | X-Mercurial-Series-Index: 2 | |
2355 | X-Mercurial-Series-Total: 2 |
|
2355 | X-Mercurial-Series-Total: 2 | |
2356 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
2356 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
2357 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2357 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2358 | In-Reply-To: <patchbomb.60@test-hostname> |
|
2358 | In-Reply-To: <patchbomb.60@test-hostname> | |
2359 | References: <patchbomb.60@test-hostname> |
|
2359 | References: <patchbomb.60@test-hostname> | |
2360 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2360 | User-Agent: Mercurial-patchbomb/* (glob) | |
2361 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
2361 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
2362 | From: quux |
|
2362 | From: quux | |
2363 | To: foo |
|
2363 | To: foo | |
2364 | Cc: bar |
|
2364 | Cc: bar | |
2365 |
|
2365 | |||
2366 | # HG changeset patch |
|
2366 | # HG changeset patch | |
2367 | # User test |
|
2367 | # User test | |
2368 | # Date 2 0 |
|
2368 | # Date 2 0 | |
2369 | # Thu Jan 01 00:00:02 1970 +0000 |
|
2369 | # Thu Jan 01 00:00:02 1970 +0000 | |
2370 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2370 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2371 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2371 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2372 | b |
|
2372 | b | |
2373 |
|
2373 | |||
2374 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
2374 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
2375 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2375 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2376 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
2376 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
2377 | @@ -0,0 +1,1 @@ |
|
2377 | @@ -0,0 +1,1 @@ | |
2378 | +b |
|
2378 | +b | |
2379 |
|
2379 | |||
2380 |
|
2380 | |||
2381 | test multi-address parsing: |
|
2381 | test multi-address parsing: | |
2382 | $ hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t 'spam<spam><eggs>' \ |
|
2382 | $ hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t 'spam<spam><eggs>' \ | |
2383 | > -t toast -c 'foo,bar@example.com' -c '"A, B <>" <a@example.com>' -s test -r 0 \ |
|
2383 | > -t toast -c 'foo,bar@example.com' -c '"A, B <>" <a@example.com>' -s test -r 0 \ | |
2384 | > --config email.bcc='"Quux, A." <quux>' |
|
2384 | > --config email.bcc='"Quux, A." <quux>' | |
2385 | this patch series consists of 1 patches. |
|
2385 | this patch series consists of 1 patches. | |
2386 |
|
2386 | |||
2387 |
|
2387 | |||
2388 | sending [PATCH] test ... |
|
2388 | sending [PATCH] test ... | |
2389 | $ cat < tmp.mbox |
|
2389 | $ cat < tmp.mbox | |
2390 | From quux ... ... .. ..:..:.. .... (re) |
|
2390 | From quux ... ... .. ..:..:.. .... (re) | |
2391 | MIME-Version: 1.0 |
|
2391 | MIME-Version: 1.0 | |
2392 | Content-Type: text/plain; charset="us-ascii" |
|
2392 | Content-Type: text/plain; charset="us-ascii" | |
2393 | Content-Transfer-Encoding: 7bit |
|
2393 | Content-Transfer-Encoding: 7bit | |
2394 | Subject: [PATCH] test |
|
2394 | Subject: [PATCH] test | |
2395 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2395 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2396 | X-Mercurial-Series-Index: 1 |
|
2396 | X-Mercurial-Series-Index: 1 | |
2397 | X-Mercurial-Series-Total: 1 |
|
2397 | X-Mercurial-Series-Total: 1 | |
2398 | Message-Id: <8580ff50825a50c8f716.315532860@test-hostname> |
|
2398 | Message-Id: <8580ff50825a50c8f716.315532860@test-hostname> | |
2399 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.315532860@test-hostname> |
|
2399 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.315532860@test-hostname> | |
2400 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2400 | User-Agent: Mercurial-patchbomb/* (glob) | |
2401 | Date: Tue, 01 Jan 1980 00:01:00 +0000 |
|
2401 | Date: Tue, 01 Jan 1980 00:01:00 +0000 | |
2402 | From: quux |
|
2402 | From: quux | |
2403 | To: spam <spam>, eggs, toast (no-py3 !) |
|
2403 | To: spam <spam>, eggs, toast (no-py3 !) | |
2404 | Cc: foo, bar@example.com, "A, B <>" <a@example.com> (no-py3 !) |
|
2404 | Cc: foo, bar@example.com, "A, B <>" <a@example.com> (no-py3 !) | |
2405 | Bcc: "Quux, A." <quux> (no-py3 !) |
|
2405 | Bcc: "Quux, A." <quux> (no-py3 !) | |
2406 | To: =?iso-8859-1?q?spam?= <spam>, eggs, toast (py3 !) |
|
2406 | To: =?iso-8859-1?q?spam?= <spam>, eggs, toast (py3 !) | |
2407 | Cc: foo, bar@example.com, =?iso-8859-1?q?A=2C_B_=3C=3E?= <a@example.com> (py3 !) |
|
2407 | Cc: foo, bar@example.com, =?iso-8859-1?q?A=2C_B_=3C=3E?= <a@example.com> (py3 !) | |
2408 | Bcc: =?iso-8859-1?q?Quux=2C_A=2E?= <quux> (py3 !) |
|
2408 | Bcc: =?iso-8859-1?q?Quux=2C_A=2E?= <quux> (py3 !) | |
2409 |
|
2409 | |||
2410 | # HG changeset patch |
|
2410 | # HG changeset patch | |
2411 | # User test |
|
2411 | # User test | |
2412 | # Date 1 0 |
|
2412 | # Date 1 0 | |
2413 | # Thu Jan 01 00:00:01 1970 +0000 |
|
2413 | # Thu Jan 01 00:00:01 1970 +0000 | |
2414 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2414 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2415 | # Parent 0000000000000000000000000000000000000000 |
|
2415 | # Parent 0000000000000000000000000000000000000000 | |
2416 | a |
|
2416 | a | |
2417 |
|
2417 | |||
2418 | diff -r 000000000000 -r 8580ff50825a a |
|
2418 | diff -r 000000000000 -r 8580ff50825a a | |
2419 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2419 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2420 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
2420 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
2421 | @@ -0,0 +1,1 @@ |
|
2421 | @@ -0,0 +1,1 @@ | |
2422 | +a |
|
2422 | +a | |
2423 |
|
2423 | |||
2424 |
|
2424 | |||
2425 |
|
2425 | |||
2426 | test flag template: |
|
2426 | test flag template: | |
2427 | $ echo foo > intro.text |
|
2427 | $ echo foo > intro.text | |
2428 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -r 0:1 \ |
|
2428 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -r 0:1 \ | |
2429 | > --desc intro.text --subject test \ |
|
2429 | > --desc intro.text --subject test \ | |
2430 | > --config patchbomb.flagtemplate='R{rev}' |
|
2430 | > --config patchbomb.flagtemplate='R{rev}' | |
2431 | this patch series consists of 2 patches. |
|
2431 | this patch series consists of 2 patches. | |
2432 |
|
2432 | |||
2433 | Cc: |
|
2433 | Cc: | |
2434 |
|
2434 | |||
2435 | displaying [PATCH 0 of 2 R1] test ... |
|
2435 | displaying [PATCH 0 of 2 R1] test ... | |
2436 | MIME-Version: 1.0 |
|
2436 | MIME-Version: 1.0 | |
2437 | Content-Type: text/plain; charset="us-ascii" |
|
2437 | Content-Type: text/plain; charset="us-ascii" | |
2438 | Content-Transfer-Encoding: 7bit |
|
2438 | Content-Transfer-Encoding: 7bit | |
2439 | Subject: [PATCH 0 of 2 R1] test |
|
2439 | Subject: [PATCH 0 of 2 R1] test | |
2440 | Message-Id: <patchbomb.60@test-hostname> |
|
2440 | Message-Id: <patchbomb.60@test-hostname> | |
2441 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2441 | User-Agent: Mercurial-patchbomb/* (glob) | |
2442 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
2442 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
2443 | From: quux |
|
2443 | From: quux | |
2444 | To: foo |
|
2444 | To: foo | |
2445 |
|
2445 | |||
2446 | foo |
|
2446 | foo | |
2447 |
|
2447 | |||
2448 | displaying [PATCH 1 of 2 R0] a ... |
|
2448 | displaying [PATCH 1 of 2 R0] a ... | |
2449 | MIME-Version: 1.0 |
|
2449 | MIME-Version: 1.0 | |
2450 | Content-Type: text/plain; charset="us-ascii" |
|
2450 | Content-Type: text/plain; charset="us-ascii" | |
2451 | Content-Transfer-Encoding: 7bit |
|
2451 | Content-Transfer-Encoding: 7bit | |
2452 | Subject: [PATCH 1 of 2 R0] a |
|
2452 | Subject: [PATCH 1 of 2 R0] a | |
2453 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2453 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2454 | X-Mercurial-Series-Index: 1 |
|
2454 | X-Mercurial-Series-Index: 1 | |
2455 | X-Mercurial-Series-Total: 2 |
|
2455 | X-Mercurial-Series-Total: 2 | |
2456 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2456 | Message-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2457 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2457 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2458 | In-Reply-To: <patchbomb.60@test-hostname> |
|
2458 | In-Reply-To: <patchbomb.60@test-hostname> | |
2459 | References: <patchbomb.60@test-hostname> |
|
2459 | References: <patchbomb.60@test-hostname> | |
2460 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2460 | User-Agent: Mercurial-patchbomb/* (glob) | |
2461 | Date: Thu, 01 Jan 1970 00:01:01 +0000 |
|
2461 | Date: Thu, 01 Jan 1970 00:01:01 +0000 | |
2462 | From: quux |
|
2462 | From: quux | |
2463 | To: foo |
|
2463 | To: foo | |
2464 |
|
2464 | |||
2465 | # HG changeset patch |
|
2465 | # HG changeset patch | |
2466 | # User test |
|
2466 | # User test | |
2467 | # Date 1 0 |
|
2467 | # Date 1 0 | |
2468 | # Thu Jan 01 00:00:01 1970 +0000 |
|
2468 | # Thu Jan 01 00:00:01 1970 +0000 | |
2469 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2469 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2470 | # Parent 0000000000000000000000000000000000000000 |
|
2470 | # Parent 0000000000000000000000000000000000000000 | |
2471 | a |
|
2471 | a | |
2472 |
|
2472 | |||
2473 | diff -r 000000000000 -r 8580ff50825a a |
|
2473 | diff -r 000000000000 -r 8580ff50825a a | |
2474 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2474 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2475 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
2475 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
2476 | @@ -0,0 +1,1 @@ |
|
2476 | @@ -0,0 +1,1 @@ | |
2477 | +a |
|
2477 | +a | |
2478 |
|
2478 | |||
2479 | displaying [PATCH 2 of 2 R1] b ... |
|
2479 | displaying [PATCH 2 of 2 R1] b ... | |
2480 | MIME-Version: 1.0 |
|
2480 | MIME-Version: 1.0 | |
2481 | Content-Type: text/plain; charset="us-ascii" |
|
2481 | Content-Type: text/plain; charset="us-ascii" | |
2482 | Content-Transfer-Encoding: 7bit |
|
2482 | Content-Transfer-Encoding: 7bit | |
2483 | Subject: [PATCH 2 of 2 R1] b |
|
2483 | Subject: [PATCH 2 of 2 R1] b | |
2484 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2484 | X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2485 | X-Mercurial-Series-Index: 2 |
|
2485 | X-Mercurial-Series-Index: 2 | |
2486 | X-Mercurial-Series-Total: 2 |
|
2486 | X-Mercurial-Series-Total: 2 | |
2487 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> |
|
2487 | Message-Id: <97d72e5f12c7e84f8506.62@test-hostname> | |
2488 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> |
|
2488 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.61@test-hostname> | |
2489 | In-Reply-To: <patchbomb.60@test-hostname> |
|
2489 | In-Reply-To: <patchbomb.60@test-hostname> | |
2490 | References: <patchbomb.60@test-hostname> |
|
2490 | References: <patchbomb.60@test-hostname> | |
2491 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2491 | User-Agent: Mercurial-patchbomb/* (glob) | |
2492 | Date: Thu, 01 Jan 1970 00:01:02 +0000 |
|
2492 | Date: Thu, 01 Jan 1970 00:01:02 +0000 | |
2493 | From: quux |
|
2493 | From: quux | |
2494 | To: foo |
|
2494 | To: foo | |
2495 |
|
2495 | |||
2496 | # HG changeset patch |
|
2496 | # HG changeset patch | |
2497 | # User test |
|
2497 | # User test | |
2498 | # Date 2 0 |
|
2498 | # Date 2 0 | |
2499 | # Thu Jan 01 00:00:02 1970 +0000 |
|
2499 | # Thu Jan 01 00:00:02 1970 +0000 | |
2500 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2500 | # Node ID 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2501 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2501 | # Parent 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2502 | b |
|
2502 | b | |
2503 |
|
2503 | |||
2504 | diff -r 8580ff50825a -r 97d72e5f12c7 b |
|
2504 | diff -r 8580ff50825a -r 97d72e5f12c7 b | |
2505 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2505 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2506 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 |
|
2506 | +++ b/b Thu Jan 01 00:00:02 1970 +0000 | |
2507 | @@ -0,0 +1,1 @@ |
|
2507 | @@ -0,0 +1,1 @@ | |
2508 | +b |
|
2508 | +b | |
2509 |
|
2509 | |||
2510 |
|
2510 | |||
2511 | test flag template plus --flag: |
|
2511 | test flag template plus --flag: | |
2512 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -r 0 --flag 'V2' \ |
|
2512 | $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -r 0 --flag 'V2' \ | |
2513 | > --config patchbomb.flagtemplate='{branch} {flags}' |
|
2513 | > --config patchbomb.flagtemplate='{branch} {flags}' | |
2514 | this patch series consists of 1 patches. |
|
2514 | this patch series consists of 1 patches. | |
2515 |
|
2515 | |||
2516 | Cc: |
|
2516 | Cc: | |
2517 |
|
2517 | |||
2518 | displaying [PATCH default V2] a ... |
|
2518 | displaying [PATCH default V2] a ... | |
2519 | MIME-Version: 1.0 |
|
2519 | MIME-Version: 1.0 | |
2520 | Content-Type: text/plain; charset="us-ascii" |
|
2520 | Content-Type: text/plain; charset="us-ascii" | |
2521 | Content-Transfer-Encoding: 7bit |
|
2521 | Content-Transfer-Encoding: 7bit | |
2522 | Subject: [PATCH default V2] a |
|
2522 | Subject: [PATCH default V2] a | |
2523 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2523 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2524 | X-Mercurial-Series-Index: 1 |
|
2524 | X-Mercurial-Series-Index: 1 | |
2525 | X-Mercurial-Series-Total: 1 |
|
2525 | X-Mercurial-Series-Total: 1 | |
2526 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
2526 | Message-Id: <8580ff50825a50c8f716.60@test-hostname> | |
2527 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> |
|
2527 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.60@test-hostname> | |
2528 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2528 | User-Agent: Mercurial-patchbomb/* (glob) | |
2529 | Date: Thu, 01 Jan 1970 00:01:00 +0000 |
|
2529 | Date: Thu, 01 Jan 1970 00:01:00 +0000 | |
2530 | From: quux |
|
2530 | From: quux | |
2531 | To: foo |
|
2531 | To: foo | |
2532 |
|
2532 | |||
2533 | # HG changeset patch |
|
2533 | # HG changeset patch | |
2534 | # User test |
|
2534 | # User test | |
2535 | # Date 1 0 |
|
2535 | # Date 1 0 | |
2536 | # Thu Jan 01 00:00:01 1970 +0000 |
|
2536 | # Thu Jan 01 00:00:01 1970 +0000 | |
2537 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2537 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2538 | # Parent 0000000000000000000000000000000000000000 |
|
2538 | # Parent 0000000000000000000000000000000000000000 | |
2539 | a |
|
2539 | a | |
2540 |
|
2540 | |||
2541 | diff -r 000000000000 -r 8580ff50825a a |
|
2541 | diff -r 000000000000 -r 8580ff50825a a | |
2542 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2542 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2543 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
2543 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
2544 | @@ -0,0 +1,1 @@ |
|
2544 | @@ -0,0 +1,1 @@ | |
2545 | +a |
|
2545 | +a | |
2546 |
|
2546 | |||
2547 |
|
2547 | |||
2548 | test multi-byte domain parsing: |
|
2548 | test multi-byte domain parsing: | |
2549 | >>> with open('toaddress.txt', 'wb') as f: |
|
2549 | >>> with open('toaddress.txt', 'wb') as f: | |
2550 | ... f.write(b'bar@\xfcnicode.com') and None |
|
2550 | ... f.write(b'bar@\xfcnicode.com') and None | |
2551 | $ HGENCODING=iso-8859-1 |
|
2551 | $ HGENCODING=iso-8859-1 | |
2552 | $ export HGENCODING |
|
2552 | $ export HGENCODING | |
2553 | $ hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t "`cat toaddress.txt`" -s test -r 0 |
|
2553 | $ hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t "`cat toaddress.txt`" -s test -r 0 | |
2554 | this patch series consists of 1 patches. |
|
2554 | this patch series consists of 1 patches. | |
2555 |
|
2555 | |||
2556 | Cc: |
|
2556 | Cc: | |
2557 |
|
2557 | |||
2558 | sending [PATCH] test ... |
|
2558 | sending [PATCH] test ... | |
2559 |
|
2559 | |||
2560 | $ cat tmp.mbox |
|
2560 | $ cat tmp.mbox | |
2561 | From quux ... ... .. ..:..:.. .... (re) |
|
2561 | From quux ... ... .. ..:..:.. .... (re) | |
2562 | MIME-Version: 1.0 |
|
2562 | MIME-Version: 1.0 | |
2563 | Content-Type: text/plain; charset="us-ascii" |
|
2563 | Content-Type: text/plain; charset="us-ascii" | |
2564 | Content-Transfer-Encoding: 7bit |
|
2564 | Content-Transfer-Encoding: 7bit | |
2565 | Subject: [PATCH] test |
|
2565 | Subject: [PATCH] test | |
2566 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2566 | X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2567 | X-Mercurial-Series-Index: 1 |
|
2567 | X-Mercurial-Series-Index: 1 | |
2568 | X-Mercurial-Series-Total: 1 |
|
2568 | X-Mercurial-Series-Total: 1 | |
2569 | Message-Id: <8580ff50825a50c8f716.315532860@test-hostname> |
|
2569 | Message-Id: <8580ff50825a50c8f716.315532860@test-hostname> | |
2570 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.315532860@test-hostname> |
|
2570 | X-Mercurial-Series-Id: <8580ff50825a50c8f716.315532860@test-hostname> | |
2571 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2571 | User-Agent: Mercurial-patchbomb/* (glob) | |
2572 | Date: Tue, 01 Jan 1980 00:01:00 +0000 |
|
2572 | Date: Tue, 01 Jan 1980 00:01:00 +0000 | |
2573 | From: quux |
|
2573 | From: quux | |
2574 | To: bar@xn--nicode-2ya.com |
|
2574 | To: bar@xn--nicode-2ya.com | |
2575 |
|
2575 | |||
2576 | # HG changeset patch |
|
2576 | # HG changeset patch | |
2577 | # User test |
|
2577 | # User test | |
2578 | # Date 1 0 |
|
2578 | # Date 1 0 | |
2579 | # Thu Jan 01 00:00:01 1970 +0000 |
|
2579 | # Thu Jan 01 00:00:01 1970 +0000 | |
2580 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab |
|
2580 | # Node ID 8580ff50825a50c8f716709acdf8de0deddcd6ab | |
2581 | # Parent 0000000000000000000000000000000000000000 |
|
2581 | # Parent 0000000000000000000000000000000000000000 | |
2582 | a |
|
2582 | a | |
2583 |
|
2583 | |||
2584 | diff -r 000000000000 -r 8580ff50825a a |
|
2584 | diff -r 000000000000 -r 8580ff50825a a | |
2585 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2585 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2586 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
2586 | +++ b/a Thu Jan 01 00:00:01 1970 +0000 | |
2587 | @@ -0,0 +1,1 @@ |
|
2587 | @@ -0,0 +1,1 @@ | |
2588 | +a |
|
2588 | +a | |
2589 |
|
2589 | |||
2590 |
|
2590 | |||
2591 |
|
2591 | |||
2592 | test outgoing: |
|
2592 | test outgoing: | |
2593 | $ hg up 1 |
|
2593 | $ hg up 1 | |
2594 | 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
|
2594 | 0 files updated, 0 files merged, 6 files removed, 0 files unresolved | |
2595 |
|
2595 | |||
2596 | $ hg branch test |
|
2596 | $ hg branch test | |
2597 | marked working directory as branch test |
|
2597 | marked working directory as branch test | |
2598 | (branches are permanent and global, did you want a bookmark?) |
|
2598 | (branches are permanent and global, did you want a bookmark?) | |
2599 |
|
2599 | |||
2600 | $ echo d > d |
|
2600 | $ echo d > d | |
2601 | $ hg add d |
|
2601 | $ hg add d | |
2602 | $ hg ci -md -d '4 0' |
|
2602 | $ hg ci -md -d '4 0' | |
2603 | $ echo d >> d |
|
2603 | $ echo d >> d | |
2604 | $ hg ci -mdd -d '5 0' |
|
2604 | $ hg ci -mdd -d '5 0' | |
2605 | $ hg log -G --template "{rev}:{node|short} {desc|firstline}\n" |
|
2605 | $ hg log -G --template "{rev}:{node|short} {desc|firstline}\n" | |
2606 | @ 10:3b6f1ec9dde9 dd |
|
2606 | @ 10:3b6f1ec9dde9 dd | |
2607 | | |
|
2607 | | | |
2608 | o 9:2f9fa9b998c5 d |
|
2608 | o 9:2f9fa9b998c5 d | |
2609 | | |
|
2609 | | | |
2610 | | o 8:9cea7492c36b Added tag two, two.diff for changeset ff2c9fa2018b |
|
2610 | | o 8:9cea7492c36b Added tag two, two.diff for changeset ff2c9fa2018b | |
2611 | | | |
|
2611 | | | | |
2612 | | o 7:3b775b32716d Added tag one, one.patch for changeset 97d72e5f12c7 |
|
2612 | | o 7:3b775b32716d Added tag one, one.patch for changeset 97d72e5f12c7 | |
2613 | | | |
|
2613 | | | | |
2614 | | o 6:c41d7353114c Added tag zero, zero.foo for changeset 8580ff50825a |
|
2614 | | o 6:c41d7353114c Added tag zero, zero.foo for changeset 8580ff50825a | |
2615 | | | |
|
2615 | | | | |
2616 | | o 5:4d6f44f466c9 isolatin 8-bit encoding |
|
2616 | | o 5:4d6f44f466c9 isolatin 8-bit encoding | |
2617 | | | |
|
2617 | | | | |
2618 | | o 4:0c7b871cb86b long line |
|
2618 | | o 4:0c7b871cb86b long line | |
2619 | | | |
|
2619 | | | | |
2620 | | o 3:f81ef9782946 \xe7a (esc) |
|
2620 | | o 3:f81ef9782946 \xe7a (esc) | |
2621 | | | |
|
2621 | | | | |
2622 | | o 2:ff2c9fa2018b c |
|
2622 | | o 2:ff2c9fa2018b c | |
2623 | |/ |
|
2623 | |/ | |
2624 | o 1:97d72e5f12c7 b |
|
2624 | o 1:97d72e5f12c7 b | |
2625 | | |
|
2625 | | | |
2626 | o 0:8580ff50825a a |
|
2626 | o 0:8580ff50825a a | |
2627 |
|
2627 | |||
2628 | $ hg phase --force --secret -r 10 |
|
2628 | $ hg phase --force --secret -r 10 | |
2629 | $ hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t -r 'rev(10) or rev(6)' |
|
2629 | $ hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t -r 'rev(10) or rev(6)' | |
2630 | comparing with ../t |
|
2630 | comparing with ../t | |
2631 | From [test]: test |
|
2631 | From [test]: test | |
2632 | this patch series consists of 6 patches. |
|
2632 | this patch series consists of 6 patches. | |
2633 |
|
2633 | |||
2634 |
|
2634 | |||
2635 | Write the introductory message for the patch series. |
|
2635 | Write the introductory message for the patch series. | |
2636 |
|
2636 | |||
2637 | Cc: |
|
2637 | Cc: | |
2638 |
|
2638 | |||
2639 | displaying [PATCH 0 of 6] test ... |
|
2639 | displaying [PATCH 0 of 6] test ... | |
2640 | MIME-Version: 1.0 |
|
2640 | MIME-Version: 1.0 | |
2641 | Content-Type: text/plain; charset="us-ascii" |
|
2641 | Content-Type: text/plain; charset="us-ascii" | |
2642 | Content-Transfer-Encoding: 7bit |
|
2642 | Content-Transfer-Encoding: 7bit | |
2643 | Subject: [PATCH 0 of 6] test |
|
2643 | Subject: [PATCH 0 of 6] test | |
2644 | Message-Id: <patchbomb.315532860@test-hostname> |
|
2644 | Message-Id: <patchbomb.315532860@test-hostname> | |
2645 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2645 | User-Agent: Mercurial-patchbomb/* (glob) | |
2646 | Date: Tue, 01 Jan 1980 00:01:00 +0000 |
|
2646 | Date: Tue, 01 Jan 1980 00:01:00 +0000 | |
2647 | From: test |
|
2647 | From: test | |
2648 | To: foo |
|
2648 | To: foo | |
2649 |
|
2649 | |||
2650 |
|
2650 | |||
2651 | displaying [PATCH 1 of 6] c ... |
|
2651 | displaying [PATCH 1 of 6] c ... | |
2652 | MIME-Version: 1.0 |
|
2652 | MIME-Version: 1.0 | |
2653 | Content-Type: text/plain; charset="us-ascii" |
|
2653 | Content-Type: text/plain; charset="us-ascii" | |
2654 | Content-Transfer-Encoding: 7bit |
|
2654 | Content-Transfer-Encoding: 7bit | |
2655 | Subject: [PATCH 1 of 6] c |
|
2655 | Subject: [PATCH 1 of 6] c | |
2656 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
2656 | X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
2657 | X-Mercurial-Series-Index: 1 |
|
2657 | X-Mercurial-Series-Index: 1 | |
2658 | X-Mercurial-Series-Total: 6 |
|
2658 | X-Mercurial-Series-Total: 6 | |
2659 | Message-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> |
|
2659 | Message-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> | |
2660 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> |
|
2660 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> | |
2661 | In-Reply-To: <patchbomb.315532860@test-hostname> |
|
2661 | In-Reply-To: <patchbomb.315532860@test-hostname> | |
2662 | References: <patchbomb.315532860@test-hostname> |
|
2662 | References: <patchbomb.315532860@test-hostname> | |
2663 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2663 | User-Agent: Mercurial-patchbomb/* (glob) | |
2664 | Date: Tue, 01 Jan 1980 00:01:01 +0000 |
|
2664 | Date: Tue, 01 Jan 1980 00:01:01 +0000 | |
2665 | From: test |
|
2665 | From: test | |
2666 | To: foo |
|
2666 | To: foo | |
2667 |
|
2667 | |||
2668 | # HG changeset patch |
|
2668 | # HG changeset patch | |
2669 | # User test |
|
2669 | # User test | |
2670 | # Date 3 0 |
|
2670 | # Date 3 0 | |
2671 | # Thu Jan 01 00:00:03 1970 +0000 |
|
2671 | # Thu Jan 01 00:00:03 1970 +0000 | |
2672 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
2672 | # Node ID ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
2673 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2673 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2674 | c |
|
2674 | c | |
2675 |
|
2675 | |||
2676 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c |
|
2676 | diff -r 97d72e5f12c7 -r ff2c9fa2018b c | |
2677 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2677 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2678 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 |
|
2678 | +++ b/c Thu Jan 01 00:00:03 1970 +0000 | |
2679 | @@ -0,0 +1,1 @@ |
|
2679 | @@ -0,0 +1,1 @@ | |
2680 | +c |
|
2680 | +c | |
2681 |
|
2681 | |||
2682 | displaying [PATCH 2 of 6] \xe7a ... (esc) |
|
2682 | displaying [PATCH 2 of 6] \xe7a ... (esc) | |
2683 | MIME-Version: 1.0 |
|
2683 | MIME-Version: 1.0 | |
2684 | Content-Type: text/plain; charset="iso-8859-1" |
|
2684 | Content-Type: text/plain; charset="iso-8859-1" | |
2685 | Content-Transfer-Encoding: quoted-printable |
|
2685 | Content-Transfer-Encoding: quoted-printable | |
2686 | Subject: [PATCH 2 of 6] \xe7a (esc) (no-py3 !) |
|
2686 | Subject: [PATCH 2 of 6] \xe7a (esc) (no-py3 !) | |
2687 | Subject: =?utf-8?b?W1BBVENIIDIgb2YgNl0gw6dh?= (py3 !) |
|
2687 | Subject: =?utf-8?b?W1BBVENIIDIgb2YgNl0gw6dh?= (py3 !) | |
2688 | X-Mercurial-Node: f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
2688 | X-Mercurial-Node: f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
2689 | X-Mercurial-Series-Index: 2 |
|
2689 | X-Mercurial-Series-Index: 2 | |
2690 | X-Mercurial-Series-Total: 6 |
|
2690 | X-Mercurial-Series-Total: 6 | |
2691 | Message-Id: <f81ef97829467e868fc4.315532862@test-hostname> |
|
2691 | Message-Id: <f81ef97829467e868fc4.315532862@test-hostname> | |
2692 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> |
|
2692 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> | |
2693 | In-Reply-To: <patchbomb.315532860@test-hostname> |
|
2693 | In-Reply-To: <patchbomb.315532860@test-hostname> | |
2694 | References: <patchbomb.315532860@test-hostname> |
|
2694 | References: <patchbomb.315532860@test-hostname> | |
2695 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2695 | User-Agent: Mercurial-patchbomb/* (glob) | |
2696 | Date: Tue, 01 Jan 1980 00:01:02 +0000 |
|
2696 | Date: Tue, 01 Jan 1980 00:01:02 +0000 | |
2697 | From: test |
|
2697 | From: test | |
2698 | To: foo |
|
2698 | To: foo | |
2699 |
|
2699 | |||
2700 | # HG changeset patch |
|
2700 | # HG changeset patch | |
2701 | # User test |
|
2701 | # User test | |
2702 | # Date 4 0 |
|
2702 | # Date 4 0 | |
2703 | # Thu Jan 01 00:00:04 1970 +0000 |
|
2703 | # Thu Jan 01 00:00:04 1970 +0000 | |
2704 | # Node ID f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
2704 | # Node ID f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
2705 | # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f |
|
2705 | # Parent ff2c9fa2018b15fa74b33363bda9527323e2a99f | |
2706 | =E7a |
|
2706 | =E7a | |
2707 |
|
2707 | |||
2708 | diff -r ff2c9fa2018b -r f81ef9782946 description |
|
2708 | diff -r ff2c9fa2018b -r f81ef9782946 description | |
2709 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2709 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2710 | +++ b/description Thu Jan 01 00:00:04 1970 +0000 |
|
2710 | +++ b/description Thu Jan 01 00:00:04 1970 +0000 | |
2711 | @@ -0,0 +1,3 @@ |
|
2711 | @@ -0,0 +1,3 @@ | |
2712 | +a multiline |
|
2712 | +a multiline | |
2713 | + |
|
2713 | + | |
2714 | +description |
|
2714 | +description | |
2715 | diff -r ff2c9fa2018b -r f81ef9782946 utf |
|
2715 | diff -r ff2c9fa2018b -r f81ef9782946 utf | |
2716 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2716 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2717 | +++ b/utf Thu Jan 01 00:00:04 1970 +0000 |
|
2717 | +++ b/utf Thu Jan 01 00:00:04 1970 +0000 | |
2718 | @@ -0,0 +1,1 @@ |
|
2718 | @@ -0,0 +1,1 @@ | |
2719 | +h=C3=B6mma! |
|
2719 | +h=C3=B6mma! | |
2720 |
|
2720 | |||
2721 | displaying [PATCH 3 of 6] long line ... |
|
2721 | displaying [PATCH 3 of 6] long line ... | |
2722 | MIME-Version: 1.0 |
|
2722 | MIME-Version: 1.0 | |
2723 | Content-Type: text/plain; charset="us-ascii" |
|
2723 | Content-Type: text/plain; charset="us-ascii" | |
2724 | Content-Transfer-Encoding: quoted-printable |
|
2724 | Content-Transfer-Encoding: quoted-printable | |
2725 | Subject: [PATCH 3 of 6] long line |
|
2725 | Subject: [PATCH 3 of 6] long line | |
2726 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
2726 | X-Mercurial-Node: 0c7b871cb86b61a1c07e244393603c361e4a178d | |
2727 | X-Mercurial-Series-Index: 3 |
|
2727 | X-Mercurial-Series-Index: 3 | |
2728 | X-Mercurial-Series-Total: 6 |
|
2728 | X-Mercurial-Series-Total: 6 | |
2729 | Message-Id: <0c7b871cb86b61a1c07e.315532863@test-hostname> |
|
2729 | Message-Id: <0c7b871cb86b61a1c07e.315532863@test-hostname> | |
2730 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> |
|
2730 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> | |
2731 | In-Reply-To: <patchbomb.315532860@test-hostname> |
|
2731 | In-Reply-To: <patchbomb.315532860@test-hostname> | |
2732 | References: <patchbomb.315532860@test-hostname> |
|
2732 | References: <patchbomb.315532860@test-hostname> | |
2733 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2733 | User-Agent: Mercurial-patchbomb/* (glob) | |
2734 | Date: Tue, 01 Jan 1980 00:01:03 +0000 |
|
2734 | Date: Tue, 01 Jan 1980 00:01:03 +0000 | |
2735 | From: test |
|
2735 | From: test | |
2736 | To: foo |
|
2736 | To: foo | |
2737 |
|
2737 | |||
2738 | # HG changeset patch |
|
2738 | # HG changeset patch | |
2739 | # User test |
|
2739 | # User test | |
2740 | # Date 4 0 |
|
2740 | # Date 4 0 | |
2741 | # Thu Jan 01 00:00:04 1970 +0000 |
|
2741 | # Thu Jan 01 00:00:04 1970 +0000 | |
2742 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
2742 | # Node ID 0c7b871cb86b61a1c07e244393603c361e4a178d | |
2743 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 |
|
2743 | # Parent f81ef97829467e868fc405fccbcfa66217e4d3e6 | |
2744 | long line |
|
2744 | long line | |
2745 |
|
2745 | |||
2746 | diff -r f81ef9782946 -r 0c7b871cb86b long |
|
2746 | diff -r f81ef9782946 -r 0c7b871cb86b long | |
2747 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2747 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2748 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 |
|
2748 | +++ b/long Thu Jan 01 00:00:04 1970 +0000 | |
2749 | @@ -0,0 +1,4 @@ |
|
2749 | @@ -0,0 +1,4 @@ | |
2750 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2750 | +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2751 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2751 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2752 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2752 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2753 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2753 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2754 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2754 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2755 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2755 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2756 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2756 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2757 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2757 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2758 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2758 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2759 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2759 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2760 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2760 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2761 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2761 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2762 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= |
|
2762 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= | |
2763 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
|
2763 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
2764 | +foo |
|
2764 | +foo | |
2765 | + |
|
2765 | + | |
2766 | +bar |
|
2766 | +bar | |
2767 |
|
2767 | |||
2768 | displaying [PATCH 4 of 6] isolatin 8-bit encoding ... |
|
2768 | displaying [PATCH 4 of 6] isolatin 8-bit encoding ... | |
2769 | MIME-Version: 1.0 |
|
2769 | MIME-Version: 1.0 | |
2770 | Content-Type: text/plain; charset="iso-8859-1" |
|
2770 | Content-Type: text/plain; charset="iso-8859-1" | |
2771 | Content-Transfer-Encoding: quoted-printable |
|
2771 | Content-Transfer-Encoding: quoted-printable | |
2772 | Subject: [PATCH 4 of 6] isolatin 8-bit encoding |
|
2772 | Subject: [PATCH 4 of 6] isolatin 8-bit encoding | |
2773 | X-Mercurial-Node: 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 |
|
2773 | X-Mercurial-Node: 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 | |
2774 | X-Mercurial-Series-Index: 4 |
|
2774 | X-Mercurial-Series-Index: 4 | |
2775 | X-Mercurial-Series-Total: 6 |
|
2775 | X-Mercurial-Series-Total: 6 | |
2776 | Message-Id: <4d6f44f466c96d89f2e7.315532864@test-hostname> |
|
2776 | Message-Id: <4d6f44f466c96d89f2e7.315532864@test-hostname> | |
2777 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> |
|
2777 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> | |
2778 | In-Reply-To: <patchbomb.315532860@test-hostname> |
|
2778 | In-Reply-To: <patchbomb.315532860@test-hostname> | |
2779 | References: <patchbomb.315532860@test-hostname> |
|
2779 | References: <patchbomb.315532860@test-hostname> | |
2780 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2780 | User-Agent: Mercurial-patchbomb/* (glob) | |
2781 | Date: Tue, 01 Jan 1980 00:01:04 +0000 |
|
2781 | Date: Tue, 01 Jan 1980 00:01:04 +0000 | |
2782 | From: test |
|
2782 | From: test | |
2783 | To: foo |
|
2783 | To: foo | |
2784 |
|
2784 | |||
2785 | # HG changeset patch |
|
2785 | # HG changeset patch | |
2786 | # User test |
|
2786 | # User test | |
2787 | # Date 5 0 |
|
2787 | # Date 5 0 | |
2788 | # Thu Jan 01 00:00:05 1970 +0000 |
|
2788 | # Thu Jan 01 00:00:05 1970 +0000 | |
2789 | # Node ID 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 |
|
2789 | # Node ID 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 | |
2790 | # Parent 0c7b871cb86b61a1c07e244393603c361e4a178d |
|
2790 | # Parent 0c7b871cb86b61a1c07e244393603c361e4a178d | |
2791 | isolatin 8-bit encoding |
|
2791 | isolatin 8-bit encoding | |
2792 |
|
2792 | |||
2793 | diff -r 0c7b871cb86b -r 4d6f44f466c9 isolatin |
|
2793 | diff -r 0c7b871cb86b -r 4d6f44f466c9 isolatin | |
2794 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2794 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2795 | +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000 |
|
2795 | +++ b/isolatin Thu Jan 01 00:00:05 1970 +0000 | |
2796 | @@ -0,0 +1,1 @@ |
|
2796 | @@ -0,0 +1,1 @@ | |
2797 | +h=F6mma! |
|
2797 | +h=F6mma! | |
2798 |
|
2798 | |||
2799 | displaying [PATCH 5 of 6] Added tag zero, zero.foo for changeset 8580ff50825a ... |
|
2799 | displaying [PATCH 5 of 6] Added tag zero, zero.foo for changeset 8580ff50825a ... | |
2800 | MIME-Version: 1.0 |
|
2800 | MIME-Version: 1.0 | |
2801 | Content-Type: text/plain; charset="us-ascii" |
|
2801 | Content-Type: text/plain; charset="us-ascii" | |
2802 | Content-Transfer-Encoding: 7bit |
|
2802 | Content-Transfer-Encoding: 7bit | |
2803 | Subject: [PATCH 5 of 6] Added tag zero, zero.foo for changeset 8580ff50825a |
|
2803 | Subject: [PATCH 5 of 6] Added tag zero, zero.foo for changeset 8580ff50825a | |
2804 | X-Mercurial-Node: c41d7353114ccb07a50a822ad5ddf47051c88ec2 |
|
2804 | X-Mercurial-Node: c41d7353114ccb07a50a822ad5ddf47051c88ec2 | |
2805 | X-Mercurial-Series-Index: 5 |
|
2805 | X-Mercurial-Series-Index: 5 | |
2806 | X-Mercurial-Series-Total: 6 |
|
2806 | X-Mercurial-Series-Total: 6 | |
2807 | Message-Id: <c41d7353114ccb07a50a.315532865@test-hostname> |
|
2807 | Message-Id: <c41d7353114ccb07a50a.315532865@test-hostname> | |
2808 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> |
|
2808 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> | |
2809 | In-Reply-To: <patchbomb.315532860@test-hostname> |
|
2809 | In-Reply-To: <patchbomb.315532860@test-hostname> | |
2810 | References: <patchbomb.315532860@test-hostname> |
|
2810 | References: <patchbomb.315532860@test-hostname> | |
2811 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2811 | User-Agent: Mercurial-patchbomb/* (glob) | |
2812 | Date: Tue, 01 Jan 1980 00:01:05 +0000 |
|
2812 | Date: Tue, 01 Jan 1980 00:01:05 +0000 | |
2813 | From: test |
|
2813 | From: test | |
2814 | To: foo |
|
2814 | To: foo | |
2815 |
|
2815 | |||
2816 | # HG changeset patch |
|
2816 | # HG changeset patch | |
2817 | # User test |
|
2817 | # User test | |
2818 | # Date 0 0 |
|
2818 | # Date 0 0 | |
2819 | # Thu Jan 01 00:00:00 1970 +0000 |
|
2819 | # Thu Jan 01 00:00:00 1970 +0000 | |
2820 | # Node ID c41d7353114ccb07a50a822ad5ddf47051c88ec2 |
|
2820 | # Node ID c41d7353114ccb07a50a822ad5ddf47051c88ec2 | |
2821 | # Parent 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 |
|
2821 | # Parent 4d6f44f466c96d89f2e7e865a70ff41d8b6eee37 | |
2822 | Added tag zero, zero.foo for changeset 8580ff50825a |
|
2822 | Added tag zero, zero.foo for changeset 8580ff50825a | |
2823 |
|
2823 | |||
2824 | diff -r 4d6f44f466c9 -r c41d7353114c .hgtags |
|
2824 | diff -r 4d6f44f466c9 -r c41d7353114c .hgtags | |
2825 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2825 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2826 | +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000 |
|
2826 | +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000 | |
2827 | @@ -0,0 +1,2 @@ |
|
2827 | @@ -0,0 +1,2 @@ | |
2828 | +8580ff50825a50c8f716709acdf8de0deddcd6ab zero |
|
2828 | +8580ff50825a50c8f716709acdf8de0deddcd6ab zero | |
2829 | +8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo |
|
2829 | +8580ff50825a50c8f716709acdf8de0deddcd6ab zero.foo | |
2830 |
|
2830 | |||
2831 | displaying [PATCH 6 of 6] d ... |
|
2831 | displaying [PATCH 6 of 6] d ... | |
2832 | MIME-Version: 1.0 |
|
2832 | MIME-Version: 1.0 | |
2833 | Content-Type: text/plain; charset="us-ascii" |
|
2833 | Content-Type: text/plain; charset="us-ascii" | |
2834 | Content-Transfer-Encoding: 7bit |
|
2834 | Content-Transfer-Encoding: 7bit | |
2835 | Subject: [PATCH 6 of 6] d |
|
2835 | Subject: [PATCH 6 of 6] d | |
2836 | X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 |
|
2836 | X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 | |
2837 | X-Mercurial-Series-Index: 6 |
|
2837 | X-Mercurial-Series-Index: 6 | |
2838 | X-Mercurial-Series-Total: 6 |
|
2838 | X-Mercurial-Series-Total: 6 | |
2839 | Message-Id: <2f9fa9b998c5fe3ac2bd.315532866@test-hostname> |
|
2839 | Message-Id: <2f9fa9b998c5fe3ac2bd.315532866@test-hostname> | |
2840 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> |
|
2840 | X-Mercurial-Series-Id: <ff2c9fa2018b15fa74b3.315532861@test-hostname> | |
2841 | In-Reply-To: <patchbomb.315532860@test-hostname> |
|
2841 | In-Reply-To: <patchbomb.315532860@test-hostname> | |
2842 | References: <patchbomb.315532860@test-hostname> |
|
2842 | References: <patchbomb.315532860@test-hostname> | |
2843 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2843 | User-Agent: Mercurial-patchbomb/* (glob) | |
2844 | Date: Tue, 01 Jan 1980 00:01:06 +0000 |
|
2844 | Date: Tue, 01 Jan 1980 00:01:06 +0000 | |
2845 | From: test |
|
2845 | From: test | |
2846 | To: foo |
|
2846 | To: foo | |
2847 |
|
2847 | |||
2848 | # HG changeset patch |
|
2848 | # HG changeset patch | |
2849 | # User test |
|
2849 | # User test | |
2850 | # Date 4 0 |
|
2850 | # Date 4 0 | |
2851 | # Thu Jan 01 00:00:04 1970 +0000 |
|
2851 | # Thu Jan 01 00:00:04 1970 +0000 | |
2852 | # Branch test |
|
2852 | # Branch test | |
2853 | # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 |
|
2853 | # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 | |
2854 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2854 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2855 | d |
|
2855 | d | |
2856 |
|
2856 | |||
2857 | diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d |
|
2857 | diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d | |
2858 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2858 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2859 | +++ b/d Thu Jan 01 00:00:04 1970 +0000 |
|
2859 | +++ b/d Thu Jan 01 00:00:04 1970 +0000 | |
2860 | @@ -0,0 +1,1 @@ |
|
2860 | @@ -0,0 +1,1 @@ | |
2861 | +d |
|
2861 | +d | |
2862 |
|
2862 | |||
2863 |
|
2863 | |||
2864 | Don't prompt for a CC header. |
|
2864 | Don't prompt for a CC header. | |
2865 |
|
2865 | |||
2866 | $ echo "[email]" >> $HGRCPATH |
|
2866 | $ echo "[email]" >> $HGRCPATH | |
2867 | $ echo "cc=" >> $HGRCPATH |
|
2867 | $ echo "cc=" >> $HGRCPATH | |
2868 |
|
2868 | |||
2869 | dest#branch URIs: |
|
2869 | dest#branch URIs: | |
2870 | $ hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t#test |
|
2870 | $ hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t#test | |
2871 | comparing with ../t |
|
2871 | comparing with ../t#test | |
2872 | From [test]: test |
|
2872 | From [test]: test | |
2873 | this patch series consists of 1 patches. |
|
2873 | this patch series consists of 1 patches. | |
2874 |
|
2874 | |||
2875 |
|
2875 | |||
2876 | displaying [PATCH] test ... |
|
2876 | displaying [PATCH] test ... | |
2877 | MIME-Version: 1.0 |
|
2877 | MIME-Version: 1.0 | |
2878 | Content-Type: text/plain; charset="us-ascii" |
|
2878 | Content-Type: text/plain; charset="us-ascii" | |
2879 | Content-Transfer-Encoding: 7bit |
|
2879 | Content-Transfer-Encoding: 7bit | |
2880 | Subject: [PATCH] test |
|
2880 | Subject: [PATCH] test | |
2881 | X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 |
|
2881 | X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 | |
2882 | X-Mercurial-Series-Index: 1 |
|
2882 | X-Mercurial-Series-Index: 1 | |
2883 | X-Mercurial-Series-Total: 1 |
|
2883 | X-Mercurial-Series-Total: 1 | |
2884 | Message-Id: <2f9fa9b998c5fe3ac2bd.315532860@test-hostname> |
|
2884 | Message-Id: <2f9fa9b998c5fe3ac2bd.315532860@test-hostname> | |
2885 | X-Mercurial-Series-Id: <2f9fa9b998c5fe3ac2bd.315532860@test-hostname> |
|
2885 | X-Mercurial-Series-Id: <2f9fa9b998c5fe3ac2bd.315532860@test-hostname> | |
2886 | User-Agent: Mercurial-patchbomb/* (glob) |
|
2886 | User-Agent: Mercurial-patchbomb/* (glob) | |
2887 | Date: Tue, 01 Jan 1980 00:01:00 +0000 |
|
2887 | Date: Tue, 01 Jan 1980 00:01:00 +0000 | |
2888 | From: test |
|
2888 | From: test | |
2889 | To: foo |
|
2889 | To: foo | |
2890 |
|
2890 | |||
2891 | # HG changeset patch |
|
2891 | # HG changeset patch | |
2892 | # User test |
|
2892 | # User test | |
2893 | # Date 4 0 |
|
2893 | # Date 4 0 | |
2894 | # Thu Jan 01 00:00:04 1970 +0000 |
|
2894 | # Thu Jan 01 00:00:04 1970 +0000 | |
2895 | # Branch test |
|
2895 | # Branch test | |
2896 | # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 |
|
2896 | # Node ID 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 | |
2897 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 |
|
2897 | # Parent 97d72e5f12c7e84f85064aa72e5a297142c36ed9 | |
2898 | d |
|
2898 | d | |
2899 |
|
2899 | |||
2900 | diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d |
|
2900 | diff -r 97d72e5f12c7 -r 2f9fa9b998c5 d | |
2901 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
2901 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
2902 | +++ b/d Thu Jan 01 00:00:04 1970 +0000 |
|
2902 | +++ b/d Thu Jan 01 00:00:04 1970 +0000 | |
2903 | @@ -0,0 +1,1 @@ |
|
2903 | @@ -0,0 +1,1 @@ | |
2904 | +d |
|
2904 | +d | |
2905 |
|
2905 | |||
2906 | #if no-windows |
|
2906 | #if no-windows | |
2907 |
|
2907 | |||
2908 | Set up a fake sendmail program |
|
2908 | Set up a fake sendmail program | |
2909 |
|
2909 | |||
2910 | $ cat > pretendmail.sh << 'EOF' |
|
2910 | $ cat > pretendmail.sh << 'EOF' | |
2911 | > #!/bin/sh |
|
2911 | > #!/bin/sh | |
2912 | > echo "$@" |
|
2912 | > echo "$@" | |
2913 | > cat |
|
2913 | > cat | |
2914 | > EOF |
|
2914 | > EOF | |
2915 | $ chmod +x pretendmail.sh |
|
2915 | $ chmod +x pretendmail.sh | |
2916 |
|
2916 | |||
2917 | $ echo '[email]' >> $HGRCPATH |
|
2917 | $ echo '[email]' >> $HGRCPATH | |
2918 | $ echo "method=`pwd`/pretendmail.sh" >> $HGRCPATH |
|
2918 | $ echo "method=`pwd`/pretendmail.sh" >> $HGRCPATH | |
2919 |
|
2919 | |||
2920 | Test introduction configuration |
|
2920 | Test introduction configuration | |
2921 | ================================= |
|
2921 | ================================= | |
2922 |
|
2922 | |||
2923 | $ echo '[patchbomb]' >> $HGRCPATH |
|
2923 | $ echo '[patchbomb]' >> $HGRCPATH | |
2924 |
|
2924 | |||
2925 | "auto" setting |
|
2925 | "auto" setting | |
2926 | ---------------- |
|
2926 | ---------------- | |
2927 |
|
2927 | |||
2928 | $ echo 'intro=auto' >> $HGRCPATH |
|
2928 | $ echo 'intro=auto' >> $HGRCPATH | |
2929 |
|
2929 | |||
2930 | single rev |
|
2930 | single rev | |
2931 |
|
2931 | |||
2932 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | grep "Write the introductory message for the patch series." |
|
2932 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | grep "Write the introductory message for the patch series." | |
2933 | [1] |
|
2933 | [1] | |
2934 |
|
2934 | |||
2935 | single rev + flag |
|
2935 | single rev + flag | |
2936 |
|
2936 | |||
2937 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' --intro | grep "Write the introductory message for the patch series." |
|
2937 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' --intro | grep "Write the introductory message for the patch series." | |
2938 | Write the introductory message for the patch series. |
|
2938 | Write the introductory message for the patch series. | |
2939 |
|
2939 | |||
2940 |
|
2940 | |||
2941 | Multi rev |
|
2941 | Multi rev | |
2942 |
|
2942 | |||
2943 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' | grep "Write the introductory message for the patch series." |
|
2943 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' | grep "Write the introductory message for the patch series." | |
2944 | Write the introductory message for the patch series. |
|
2944 | Write the introductory message for the patch series. | |
2945 |
|
2945 | |||
2946 | "never" setting |
|
2946 | "never" setting | |
2947 | ----------------- |
|
2947 | ----------------- | |
2948 |
|
2948 | |||
2949 | $ echo 'intro=never' >> $HGRCPATH |
|
2949 | $ echo 'intro=never' >> $HGRCPATH | |
2950 |
|
2950 | |||
2951 | single rev |
|
2951 | single rev | |
2952 |
|
2952 | |||
2953 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | grep "Write the introductory message for the patch series." |
|
2953 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | grep "Write the introductory message for the patch series." | |
2954 | [1] |
|
2954 | [1] | |
2955 |
|
2955 | |||
2956 | single rev + flag |
|
2956 | single rev + flag | |
2957 |
|
2957 | |||
2958 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' --intro | grep "Write the introductory message for the patch series." |
|
2958 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' --intro | grep "Write the introductory message for the patch series." | |
2959 | Write the introductory message for the patch series. |
|
2959 | Write the introductory message for the patch series. | |
2960 |
|
2960 | |||
2961 |
|
2961 | |||
2962 | Multi rev |
|
2962 | Multi rev | |
2963 |
|
2963 | |||
2964 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' | grep "Write the introductory message for the patch series." |
|
2964 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' | grep "Write the introductory message for the patch series." | |
2965 | [1] |
|
2965 | [1] | |
2966 |
|
2966 | |||
2967 | Multi rev + flag |
|
2967 | Multi rev + flag | |
2968 |
|
2968 | |||
2969 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' --intro | grep "Write the introductory message for the patch series." |
|
2969 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' --intro | grep "Write the introductory message for the patch series." | |
2970 | Write the introductory message for the patch series. |
|
2970 | Write the introductory message for the patch series. | |
2971 |
|
2971 | |||
2972 | "always" setting |
|
2972 | "always" setting | |
2973 | ----------------- |
|
2973 | ----------------- | |
2974 |
|
2974 | |||
2975 | $ echo 'intro=always' >> $HGRCPATH |
|
2975 | $ echo 'intro=always' >> $HGRCPATH | |
2976 |
|
2976 | |||
2977 | single rev |
|
2977 | single rev | |
2978 |
|
2978 | |||
2979 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | grep "Write the introductory message for the patch series." |
|
2979 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | grep "Write the introductory message for the patch series." | |
2980 | Write the introductory message for the patch series. |
|
2980 | Write the introductory message for the patch series. | |
2981 |
|
2981 | |||
2982 | single rev + flag |
|
2982 | single rev + flag | |
2983 |
|
2983 | |||
2984 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' --intro | grep "Write the introductory message for the patch series." |
|
2984 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' --intro | grep "Write the introductory message for the patch series." | |
2985 | Write the introductory message for the patch series. |
|
2985 | Write the introductory message for the patch series. | |
2986 |
|
2986 | |||
2987 |
|
2987 | |||
2988 | Multi rev |
|
2988 | Multi rev | |
2989 |
|
2989 | |||
2990 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' | grep "Write the introductory message for the patch series." |
|
2990 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' | grep "Write the introductory message for the patch series." | |
2991 | Write the introductory message for the patch series. |
|
2991 | Write the introductory message for the patch series. | |
2992 |
|
2992 | |||
2993 | Multi rev + flag |
|
2993 | Multi rev + flag | |
2994 |
|
2994 | |||
2995 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' --intro | grep "Write the introductory message for the patch series." |
|
2995 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '9::' --intro | grep "Write the introductory message for the patch series." | |
2996 | Write the introductory message for the patch series. |
|
2996 | Write the introductory message for the patch series. | |
2997 |
|
2997 | |||
2998 | bad value setting |
|
2998 | bad value setting | |
2999 | ----------------- |
|
2999 | ----------------- | |
3000 |
|
3000 | |||
3001 | $ echo 'intro=oliviawearaclownnose' >> $HGRCPATH |
|
3001 | $ echo 'intro=oliviawearaclownnose' >> $HGRCPATH | |
3002 |
|
3002 | |||
3003 | single rev |
|
3003 | single rev | |
3004 |
|
3004 | |||
3005 | $ hg email --date '1980-1-1 0:1' -v -t foo -s test -r '10' |
|
3005 | $ hg email --date '1980-1-1 0:1' -v -t foo -s test -r '10' | |
3006 | From [test]: test |
|
3006 | From [test]: test | |
3007 | this patch series consists of 1 patches. |
|
3007 | this patch series consists of 1 patches. | |
3008 |
|
3008 | |||
3009 | warning: invalid patchbomb.intro value "oliviawearaclownnose" |
|
3009 | warning: invalid patchbomb.intro value "oliviawearaclownnose" | |
3010 | (should be one of always, never, auto) |
|
3010 | (should be one of always, never, auto) | |
3011 | -f test foo |
|
3011 | -f test foo | |
3012 | MIME-Version: 1.0 |
|
3012 | MIME-Version: 1.0 | |
3013 | Content-Type: text/plain; charset="us-ascii" |
|
3013 | Content-Type: text/plain; charset="us-ascii" | |
3014 | Content-Transfer-Encoding: 7bit |
|
3014 | Content-Transfer-Encoding: 7bit | |
3015 | Subject: [PATCH] test |
|
3015 | Subject: [PATCH] test | |
3016 | X-Mercurial-Node: 3b6f1ec9dde933a40a115a7990f8b320477231af |
|
3016 | X-Mercurial-Node: 3b6f1ec9dde933a40a115a7990f8b320477231af | |
3017 | X-Mercurial-Series-Index: 1 |
|
3017 | X-Mercurial-Series-Index: 1 | |
3018 | X-Mercurial-Series-Total: 1 |
|
3018 | X-Mercurial-Series-Total: 1 | |
3019 | Message-Id: <3b6f1ec9dde933a40a11*> (glob) |
|
3019 | Message-Id: <3b6f1ec9dde933a40a11*> (glob) | |
3020 | X-Mercurial-Series-Id: <3b6f1ec9dde933a40a11.*> (glob) |
|
3020 | X-Mercurial-Series-Id: <3b6f1ec9dde933a40a11.*> (glob) | |
3021 | User-Agent: Mercurial-patchbomb/* (glob) |
|
3021 | User-Agent: Mercurial-patchbomb/* (glob) | |
3022 | Date: Tue, 01 Jan 1980 00:01:00 +0000 |
|
3022 | Date: Tue, 01 Jan 1980 00:01:00 +0000 | |
3023 | From: test |
|
3023 | From: test | |
3024 | To: foo |
|
3024 | To: foo | |
3025 |
|
3025 | |||
3026 | # HG changeset patch |
|
3026 | # HG changeset patch | |
3027 | # User test |
|
3027 | # User test | |
3028 | # Date 5 0 |
|
3028 | # Date 5 0 | |
3029 | # Thu Jan 01 00:00:05 1970 +0000 |
|
3029 | # Thu Jan 01 00:00:05 1970 +0000 | |
3030 | # Branch test |
|
3030 | # Branch test | |
3031 | # Node ID 3b6f1ec9dde933a40a115a7990f8b320477231af |
|
3031 | # Node ID 3b6f1ec9dde933a40a115a7990f8b320477231af | |
3032 | # Parent 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 |
|
3032 | # Parent 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 | |
3033 | dd |
|
3033 | dd | |
3034 |
|
3034 | |||
3035 | diff -r 2f9fa9b998c5 -r 3b6f1ec9dde9 d |
|
3035 | diff -r 2f9fa9b998c5 -r 3b6f1ec9dde9 d | |
3036 | --- a/d Thu Jan 01 00:00:04 1970 +0000 |
|
3036 | --- a/d Thu Jan 01 00:00:04 1970 +0000 | |
3037 | +++ b/d Thu Jan 01 00:00:05 1970 +0000 |
|
3037 | +++ b/d Thu Jan 01 00:00:05 1970 +0000 | |
3038 | @@ -1,1 +1,2 @@ |
|
3038 | @@ -1,1 +1,2 @@ | |
3039 | d |
|
3039 | d | |
3040 | +d |
|
3040 | +d | |
3041 |
|
3041 | |||
3042 | sending [PATCH] test ... |
|
3042 | sending [PATCH] test ... | |
3043 | sending mail: $TESTTMP/t2/pretendmail.sh -f test foo |
|
3043 | sending mail: $TESTTMP/t2/pretendmail.sh -f test foo | |
3044 |
|
3044 | |||
3045 | Shell characters in addresses |
|
3045 | Shell characters in addresses | |
3046 |
|
3046 | |||
3047 | $ hg email --date '1980-1-1 0:1' -v -t '~foo/bar@example.com' -f 'me*@example.com' -r '10' |
|
3047 | $ hg email --date '1980-1-1 0:1' -v -t '~foo/bar@example.com' -f 'me*@example.com' -r '10' | |
3048 | this patch series consists of 1 patches. |
|
3048 | this patch series consists of 1 patches. | |
3049 |
|
3049 | |||
3050 | warning: invalid patchbomb.intro value "oliviawearaclownnose" |
|
3050 | warning: invalid patchbomb.intro value "oliviawearaclownnose" | |
3051 | (should be one of always, never, auto) |
|
3051 | (should be one of always, never, auto) | |
3052 | -f me*@example.com ~foo/bar@example.com |
|
3052 | -f me*@example.com ~foo/bar@example.com | |
3053 | MIME-Version: 1.0 |
|
3053 | MIME-Version: 1.0 | |
3054 | Content-Type: text/plain; charset="us-ascii" |
|
3054 | Content-Type: text/plain; charset="us-ascii" | |
3055 | Content-Transfer-Encoding: 7bit |
|
3055 | Content-Transfer-Encoding: 7bit | |
3056 | Subject: [PATCH] dd |
|
3056 | Subject: [PATCH] dd | |
3057 | X-Mercurial-Node: 3b6f1ec9dde933a40a115a7990f8b320477231af |
|
3057 | X-Mercurial-Node: 3b6f1ec9dde933a40a115a7990f8b320477231af | |
3058 | X-Mercurial-Series-Index: 1 |
|
3058 | X-Mercurial-Series-Index: 1 | |
3059 | X-Mercurial-Series-Total: 1 |
|
3059 | X-Mercurial-Series-Total: 1 | |
3060 | Message-Id: <3b6f1ec9dde933a40a11.315532860@test-hostname> |
|
3060 | Message-Id: <3b6f1ec9dde933a40a11.315532860@test-hostname> | |
3061 | X-Mercurial-Series-Id: <3b6f1ec9dde933a40a11.315532860@test-hostname> |
|
3061 | X-Mercurial-Series-Id: <3b6f1ec9dde933a40a11.315532860@test-hostname> | |
3062 | User-Agent: Mercurial-patchbomb/* (glob) |
|
3062 | User-Agent: Mercurial-patchbomb/* (glob) | |
3063 | Date: Tue, 01 Jan 1980 00:01:00 +0000 |
|
3063 | Date: Tue, 01 Jan 1980 00:01:00 +0000 | |
3064 | From: me*@example.com |
|
3064 | From: me*@example.com | |
3065 | To: ~foo/bar@example.com |
|
3065 | To: ~foo/bar@example.com | |
3066 |
|
3066 | |||
3067 | # HG changeset patch |
|
3067 | # HG changeset patch | |
3068 | # User test |
|
3068 | # User test | |
3069 | # Date 5 0 |
|
3069 | # Date 5 0 | |
3070 | # Thu Jan 01 00:00:05 1970 +0000 |
|
3070 | # Thu Jan 01 00:00:05 1970 +0000 | |
3071 | # Branch test |
|
3071 | # Branch test | |
3072 | # Node ID 3b6f1ec9dde933a40a115a7990f8b320477231af |
|
3072 | # Node ID 3b6f1ec9dde933a40a115a7990f8b320477231af | |
3073 | # Parent 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 |
|
3073 | # Parent 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268 | |
3074 | dd |
|
3074 | dd | |
3075 |
|
3075 | |||
3076 | diff -r 2f9fa9b998c5 -r 3b6f1ec9dde9 d |
|
3076 | diff -r 2f9fa9b998c5 -r 3b6f1ec9dde9 d | |
3077 | --- a/d Thu Jan 01 00:00:04 1970 +0000 |
|
3077 | --- a/d Thu Jan 01 00:00:04 1970 +0000 | |
3078 | +++ b/d Thu Jan 01 00:00:05 1970 +0000 |
|
3078 | +++ b/d Thu Jan 01 00:00:05 1970 +0000 | |
3079 | @@ -1,1 +1,2 @@ |
|
3079 | @@ -1,1 +1,2 @@ | |
3080 | d |
|
3080 | d | |
3081 | +d |
|
3081 | +d | |
3082 |
|
3082 | |||
3083 | sending [PATCH] dd ... |
|
3083 | sending [PATCH] dd ... | |
3084 | sending mail: $TESTTMP/t2/pretendmail.sh -f 'me*@example.com' '~foo/bar@example.com' |
|
3084 | sending mail: $TESTTMP/t2/pretendmail.sh -f 'me*@example.com' '~foo/bar@example.com' | |
3085 |
|
3085 | |||
3086 | Test pull url header |
|
3086 | Test pull url header | |
3087 | ================================= |
|
3087 | ================================= | |
3088 |
|
3088 | |||
3089 | basic version |
|
3089 | basic version | |
3090 |
|
3090 | |||
3091 | $ echo 'intro=auto' >> $HGRCPATH |
|
3091 | $ echo 'intro=auto' >> $HGRCPATH | |
3092 | $ echo "publicurl=$TESTTMP/t2" >> $HGRCPATH |
|
3092 | $ echo "publicurl=$TESTTMP/t2" >> $HGRCPATH | |
3093 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | grep '^#' |
|
3093 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | grep '^#' | |
3094 | abort: public url $TESTTMP/t2 is missing 3b6f1ec9dde9 |
|
3094 | abort: public url $TESTTMP/t2 is missing 3b6f1ec9dde9 | |
3095 | (use 'hg push $TESTTMP/t2 -r 3b6f1ec9dde9') |
|
3095 | (use 'hg push $TESTTMP/t2 -r 3b6f1ec9dde9') | |
3096 | [1] |
|
3096 | [1] | |
3097 |
|
3097 | |||
3098 | public missing |
|
3098 | public missing | |
3099 |
|
3099 | |||
3100 | $ echo 'publicurl=$TESTTMP/missing' >> $HGRCPATH |
|
3100 | $ echo 'publicurl=$TESTTMP/missing' >> $HGRCPATH | |
3101 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' |
|
3101 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | |
3102 | unable to access public repo: $TESTTMP/missing |
|
3102 | unable to access public repo: $TESTTMP/missing | |
3103 | abort: repository $TESTTMP/missing not found |
|
3103 | abort: repository $TESTTMP/missing not found | |
3104 | [255] |
|
3104 | [255] | |
3105 |
|
3105 | |||
3106 | node missing at public |
|
3106 | node missing at public | |
3107 |
|
3107 | |||
3108 | $ hg clone -r '9' . ../t3 |
|
3108 | $ hg clone -r '9' . ../t3 | |
3109 | adding changesets |
|
3109 | adding changesets | |
3110 | adding manifests |
|
3110 | adding manifests | |
3111 | adding file changes |
|
3111 | adding file changes | |
3112 | added 3 changesets with 3 changes to 3 files |
|
3112 | added 3 changesets with 3 changes to 3 files | |
3113 | new changesets 8580ff50825a:2f9fa9b998c5 |
|
3113 | new changesets 8580ff50825a:2f9fa9b998c5 | |
3114 | updating to branch test |
|
3114 | updating to branch test | |
3115 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
3115 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
3116 | $ echo 'publicurl=$TESTTMP/t3' >> $HGRCPATH |
|
3116 | $ echo 'publicurl=$TESTTMP/t3' >> $HGRCPATH | |
3117 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' |
|
3117 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '10' | |
3118 | abort: public url $TESTTMP/t3 is missing 3b6f1ec9dde9 |
|
3118 | abort: public url $TESTTMP/t3 is missing 3b6f1ec9dde9 | |
3119 | (use 'hg push $TESTTMP/t3 -r 3b6f1ec9dde9') |
|
3119 | (use 'hg push $TESTTMP/t3 -r 3b6f1ec9dde9') | |
3120 | [255] |
|
3120 | [255] | |
3121 |
|
3121 | |||
3122 | multiple heads are missing at public |
|
3122 | multiple heads are missing at public | |
3123 |
|
3123 | |||
3124 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '2+10' |
|
3124 | $ hg email --date '1980-1-1 0:1' -t foo -s test -r '2+10' | |
3125 | abort: public "$TESTTMP/t3" is missing ff2c9fa2018b and 1 others |
|
3125 | abort: public "$TESTTMP/t3" is missing ff2c9fa2018b and 1 others | |
3126 | (use 'hg push $TESTTMP/t3 -r ff2c9fa2018b -r 3b6f1ec9dde9') |
|
3126 | (use 'hg push $TESTTMP/t3 -r ff2c9fa2018b -r 3b6f1ec9dde9') | |
3127 | [255] |
|
3127 | [255] | |
3128 |
|
3128 | |||
3129 | #endif |
|
3129 | #endif |
General Comments 0
You need to be logged in to leave comments.
Login now