This extension is currently being distributed along with Mercurial.
Author: Bryan O'Sullivan
This extension adds a new email command to send a collection of Mercurial changesets as a series of patch emails.
The series is started off with a "[PATCH 0 of N]" introduction, which describes the series as a whole and is followed by additional patch emails with a subject header describing the order in which the patches should be applied.
The message contains two or three body parts:
- The remainder of the changeset description
- An optional run of diffstat on the patch if it's available
The patch itself, as generated by the export command
Each message refers to all of its predecessors 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.
For each changeset, you will be prompted with a diffstat summary and the changeset summary, so you can be sure you are sending the right changes. The messages can be directly sent, or written to an mbox file, and a test mode is also avaliable to review what would the resulting mails look like.
To enable this extension add it to the extensions stanza in the hgrc file:
[extensions] hgext.patchbomb =
You must then configure it to either use your system's sendmail, or to use SMTP. To use sendmail, use something like this:
[email] method = /usr/sbin/sendmail
For direct SMTP:
[email] method = smtp [smtp] host = smtp.example.com # Optional options: # username = joeuser # password = secret # port = 25 # tls = true # Alternative values: smtps, starttls (equivalent of true) # local_hostname = me.example.com
To (optionally) configure other defaults, add a section like this to your hgrc file:
[email] from = My Name <my@email> to = recipient1, recipient2, ... cc = cc1, cc2, ... bcc = bcc1, bcc2, ...
hg email [OPTION]... [REV]...
Use hg help email to know about additional options.
4. See also
MboxExtension can do the reverse operation and import patchbombed mails from your mbox or IMAP mailbox to the MQ queue in your local repository