--- a/hgext/patchbomb.py Sun Jul 26 01:56:25 2009 +0200
+++ b/hgext/patchbomb.py Sun Jul 26 01:58:13 2009 +0200
@@ -10,9 +10,9 @@
The series is started off with a "[PATCH 0 of N]" introduction, which
describes the series as a whole.
-Each patch email has a Subject line of "[PATCH M of N] ...", using the first
-line of the changeset description as the subject text. The message contains
-two or three body parts:
+Each patch email has a Subject line of "[PATCH M of N] ...", using the
+first line of the changeset description as the subject text. The
+message contains two or three body parts:
The changeset description.
@@ -20,15 +20,16 @@
The patch itself, as generated by "hg export".
-Each message refers to the first in the series using the In-Reply-To and
-References headers, so they will show up as a sequence in threaded mail and
-news readers, and in mail archives.
+Each message refers to the first in the series using the In-Reply-To
+and References headers, so they will show up as a sequence in threaded
+mail and news readers, and in mail archives.
-With the -d/--diffstat option, you will be prompted for each changeset with a
-diffstat summary and the changeset summary, so you can be sure you are sending
-the right changes.
+With the -d/--diffstat option, you will be prompted for each changeset
+with a diffstat summary and the changeset summary, so you can be sure
+you are sending the right changes.
-To configure other defaults, add a section like this to your hgrc file::
+To configure other defaults, add a section like this to your hgrc
+file::
[email]
from = My Name <my@email>
@@ -36,35 +37,38 @@
cc = cc1, cc2, ...
bcc = bcc1, bcc2, ...
-Then you can use the "hg email" command to mail a series of changesets as a
-patchbomb.
+Then you can use the "hg email" command to mail a series of changesets
+as a patchbomb.
-To avoid sending patches prematurely, it is a good idea to first run the
-"email" command with the "-n" option (test only). You will be prompted for an
-email recipient address, a subject and an introductory message describing the
-patches of your patchbomb. Then when all is done, patchbomb messages are
-displayed. If the PAGER environment variable is set, your pager will be fired
-up once for each patchbomb message, so you can verify everything is alright.
+To avoid sending patches prematurely, it is a good idea to first run
+the "email" command with the "-n" option (test only). You will be
+prompted for an email recipient address, a subject and an introductory
+message describing the patches of your patchbomb. Then when all is
+done, patchbomb messages are displayed. If the PAGER environment
+variable is set, your pager will be fired up once for each patchbomb
+message, so you can verify everything is alright.
-The -m/--mbox option is also very useful. Instead of previewing each patchbomb
-message in a pager or sending the messages directly, it will create a UNIX
-mailbox file with the patch emails. This mailbox file can be previewed with
-any mail user agent which supports UNIX mbox files, e.g. with mutt::
+The -m/--mbox option is also very useful. Instead of previewing each
+patchbomb message in a pager or sending the messages directly, it will
+create a UNIX mailbox file with the patch emails. This mailbox file
+can be previewed with any mail user agent which supports UNIX mbox
+files, e.g. with mutt::
% mutt -R -f mbox
-When you are previewing the patchbomb messages, you can use `formail' (a
-utility that is commonly installed as part of the procmail package), to send
-each message out::
+When you are previewing the patchbomb messages, you can use `formail'
+(a utility that is commonly installed as part of the procmail
+package), to send each message out::
% formail -s sendmail -bm -t < mbox
That should be all. Now your patchbomb is on its way out.
-You can also either configure the method option in the email section to be a
-sendmail compatible mailer or fill out the [smtp] section so that the
-patchbomb extension can automatically send patchbombs directly from the
-commandline. See the [email] and [smtp] sections in hgrc(5) for details.
+You can also either configure the method option in the email section
+to be a sendmail compatible mailer or fill out the [smtp] section so
+that the patchbomb extension can automatically send patchbombs
+directly from the commandline. See the [email] and [smtp] sections in
+hgrc(5) for details.
'''
import os, errno, socket, tempfile, cStringIO, time
@@ -173,27 +177,30 @@
def patchbomb(ui, repo, *revs, **opts):
'''send changesets by email
- By default, diffs are sent in the format generated by hg export, one per
- message. The series starts with a "[PATCH 0 of N]" introduction, which
- describes the series as a whole.
+ By default, diffs are sent in the format generated by hg export,
+ one per message. The series starts with a "[PATCH 0 of N]"
+ introduction, which describes the series as a whole.
- Each patch email has a Subject line of "[PATCH M of N] ...", using the
- first line of the changeset description as the subject text. The message
- contains two or three parts. First, the changeset description. Next,
- (optionally) if the diffstat program is installed and -d/--diffstat is
- used, the result of running diffstat on the patch. Finally, the patch
- itself, as generated by "hg export".
+ Each patch email has a Subject line of "[PATCH M of N] ...", using
+ the first line of the changeset description as the subject text.
+ The message contains two or three parts. First, the changeset
+ description. Next, (optionally) if the diffstat program is
+ installed and -d/--diffstat is used, the result of running
+ diffstat on the patch. Finally, the patch itself, as generated by
+ "hg export".
- By default the patch is included as text in the email body for easy
- reviewing. Using the -a/--attach option will instead create an attachment
- for the patch. With -i/--inline an inline attachment will be created.
+ By default the patch is included as text in the email body for
+ easy reviewing. Using the -a/--attach option will instead create
+ an attachment for the patch. With -i/--inline an inline attachment
+ will be created.
- With -o/--outgoing, emails will be generated for patches not found in the
- destination repository (or only those which are ancestors of the specified
- revisions if any are provided)
+ With -o/--outgoing, emails will be generated for patches not found
+ in the destination repository (or only those which are ancestors
+ of the specified revisions if any are provided)
- With -b/--bundle, changesets are selected as for --outgoing, but a single
- email containing a binary Mercurial bundle as an attachment will be sent.
+ With -b/--bundle, changesets are selected as for --outgoing, but a
+ single email containing a binary Mercurial bundle as an attachment
+ will be sent.
Examples:
@@ -212,8 +219,8 @@
hg email -b -r 3000 # bundle of all ancestors of 3000 not in default
hg email -b -r 3000 DEST # bundle of all ancestors of 3000 not in DEST
- Before using this command, you will need to enable email in your hgrc. See
- the [email] section in hgrc(5) for details.
+ Before using this command, you will need to enable email in your
+ hgrc. See the [email] section in hgrc(5) for details.
'''
_charsets = mail._charsets(ui)