##// END OF EJS Templates
patchbomb: wrap docstrings at 70 characters
Martin Geisler -
r9269:1d6499ad default
parent child Browse files
Show More
@@ -10,9 +10,9 b''
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 first
13 Each patch email has a Subject line of "[PATCH M of N] ...", using the
14 line of the changeset description as the subject text. The message contains
14 first line of the changeset description as the subject text. The
15 two or three body parts:
15 message contains two or three body parts:
16
16
17 The changeset description.
17 The changeset description.
18
18
@@ -20,15 +20,16 b' two or three body parts:'
20
20
21 The patch itself, as generated by "hg export".
21 The patch itself, as generated by "hg export".
22
22
23 Each message refers to the first in the series using the In-Reply-To and
23 Each message refers to the first in the series using the In-Reply-To
24 References headers, so they will show up as a sequence in threaded mail and
24 and References headers, so they will show up as a sequence in threaded
25 news readers, and in mail archives.
25 mail and news readers, and in mail archives.
26
26
27 With the -d/--diffstat option, you will be prompted for each changeset with a
27 With the -d/--diffstat option, you will be prompted for each changeset
28 diffstat summary and the changeset summary, so you can be sure you are sending
28 with a diffstat summary and the changeset summary, so you can be sure
29 the right changes.
29 you are sending the right changes.
30
30
31 To configure other defaults, add a section like this to your hgrc file::
31 To configure other defaults, add a section like this to your hgrc
32 file::
32
33
33 [email]
34 [email]
34 from = My Name <my@email>
35 from = My Name <my@email>
@@ -36,35 +37,38 b' To configure other defaults, add a secti'
36 cc = cc1, cc2, ...
37 cc = cc1, cc2, ...
37 bcc = bcc1, bcc2, ...
38 bcc = bcc1, bcc2, ...
38
39
39 Then you can use the "hg email" command to mail a series of changesets as a
40 Then you can use the "hg email" command to mail a series of changesets
40 patchbomb.
41 as a patchbomb.
41
42
42 To avoid sending patches prematurely, it is a good idea to first run the
43 To avoid sending patches prematurely, it is a good idea to first run
43 "email" command with the "-n" option (test only). You will be prompted for an
44 the "email" command with the "-n" option (test only). You will be
44 email recipient address, a subject and an introductory message describing the
45 prompted for an email recipient address, a subject and an introductory
45 patches of your patchbomb. Then when all is done, patchbomb messages are
46 message describing the patches of your patchbomb. Then when all is
46 displayed. If the PAGER environment variable is set, your pager will be fired
47 done, patchbomb messages are displayed. If the PAGER environment
47 up once for each patchbomb message, so you can verify everything is alright.
48 variable is set, your pager will be fired up once for each patchbomb
49 message, so you can verify everything is alright.
48
50
49 The -m/--mbox option is also very useful. Instead of previewing each patchbomb
51 The -m/--mbox option is also very useful. Instead of previewing each
50 message in a pager or sending the messages directly, it will create a UNIX
52 patchbomb message in a pager or sending the messages directly, it will
51 mailbox file with the patch emails. This mailbox file can be previewed with
53 create a UNIX mailbox file with the patch emails. This mailbox file
52 any mail user agent which supports UNIX mbox files, e.g. with mutt::
54 can be previewed with any mail user agent which supports UNIX mbox
55 files, e.g. with mutt::
53
56
54 % mutt -R -f mbox
57 % mutt -R -f mbox
55
58
56 When you are previewing the patchbomb messages, you can use `formail' (a
59 When you are previewing the patchbomb messages, you can use `formail'
57 utility that is commonly installed as part of the procmail package), to send
60 (a utility that is commonly installed as part of the procmail
58 each message out::
61 package), to send each message out::
59
62
60 % formail -s sendmail -bm -t < mbox
63 % formail -s sendmail -bm -t < mbox
61
64
62 That should be all. Now your patchbomb is on its way out.
65 That should be all. Now your patchbomb is on its way out.
63
66
64 You can also either configure the method option in the email section to be a
67 You can also either configure the method option in the email section
65 sendmail compatible mailer or fill out the [smtp] section so that the
68 to be a sendmail compatible mailer or fill out the [smtp] section so
66 patchbomb extension can automatically send patchbombs directly from the
69 that the patchbomb extension can automatically send patchbombs
67 commandline. See the [email] and [smtp] sections in hgrc(5) for details.
70 directly from the commandline. See the [email] and [smtp] sections in
71 hgrc(5) for details.
68 '''
72 '''
69
73
70 import os, errno, socket, tempfile, cStringIO, time
74 import os, errno, socket, tempfile, cStringIO, time
@@ -173,27 +177,30 b' def makepatch(ui, repo, patch, opts, _ch'
173 def patchbomb(ui, repo, *revs, **opts):
177 def patchbomb(ui, repo, *revs, **opts):
174 '''send changesets by email
178 '''send changesets by email
175
179
176 By default, diffs are sent in the format generated by hg export, one per
180 By default, diffs are sent in the format generated by hg export,
177 message. The series starts with a "[PATCH 0 of N]" introduction, which
181 one per message. The series starts with a "[PATCH 0 of N]"
178 describes the series as a whole.
182 introduction, which describes the series as a whole.
179
183
180 Each patch email has a Subject line of "[PATCH M of N] ...", using the
184 Each patch email has a Subject line of "[PATCH M of N] ...", using
181 first line of the changeset description as the subject text. The message
185 the first line of the changeset description as the subject text.
182 contains two or three parts. First, the changeset description. Next,
186 The message contains two or three parts. First, the changeset
183 (optionally) if the diffstat program is installed and -d/--diffstat is
187 description. Next, (optionally) if the diffstat program is
184 used, the result of running diffstat on the patch. Finally, the patch
188 installed and -d/--diffstat is used, the result of running
185 itself, as generated by "hg export".
189 diffstat on the patch. Finally, the patch itself, as generated by
190 "hg export".
186
191
187 By default the patch is included as text in the email body for easy
192 By default the patch is included as text in the email body for
188 reviewing. Using the -a/--attach option will instead create an attachment
193 easy reviewing. Using the -a/--attach option will instead create
189 for the patch. With -i/--inline an inline attachment will be created.
194 an attachment for the patch. With -i/--inline an inline attachment
195 will be created.
190
196
191 With -o/--outgoing, emails will be generated for patches not found in the
197 With -o/--outgoing, emails will be generated for patches not found
192 destination repository (or only those which are ancestors of the specified
198 in the destination repository (or only those which are ancestors
193 revisions if any are provided)
199 of the specified revisions if any are provided)
194
200
195 With -b/--bundle, changesets are selected as for --outgoing, but a single
201 With -b/--bundle, changesets are selected as for --outgoing, but a
196 email containing a binary Mercurial bundle as an attachment will be sent.
202 single email containing a binary Mercurial bundle as an attachment
203 will be sent.
197
204
198 Examples:
205 Examples:
199
206
@@ -212,8 +219,8 b' def patchbomb(ui, repo, *revs, **opts):'
212 hg email -b -r 3000 # bundle of all ancestors of 3000 not in default
219 hg email -b -r 3000 # bundle of all ancestors of 3000 not in default
213 hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST
220 hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST
214
221
215 Before using this command, you will need to enable email in your hgrc. See
222 Before using this command, you will need to enable email in your
216 the [email] section in hgrc(5) for details.
223 hgrc. See the [email] section in hgrc(5) for details.
217 '''
224 '''
218
225
219 _charsets = mail._charsets(ui)
226 _charsets = mail._charsets(ui)
General Comments 0
You need to be logged in to leave comments. Login now