Mercurial > public > mercurial-scm > hg
diff hgext/patchbomb.py @ 6666:53465a7464e2
convert comments to docstrings in a bunch of extensions
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Thu, 12 Jun 2008 11:33:47 +0200 |
parents | 962eb403165b |
children | 71da881b259e |
line wrap: on
line diff
--- a/hgext/patchbomb.py Thu Jun 12 13:12:09 2008 +0200 +++ b/hgext/patchbomb.py Thu Jun 12 11:33:47 2008 +0200 @@ -1,68 +1,65 @@ -# Command for sending 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. -# -# 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 remainder of the changeset description. -# -# [Optional] If the diffstat program is installed, the result of -# running diffstat on the patch. -# -# The patch itself, as generated by "hg export". -# -# 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. -# -# To enable this extension: -# -# [extensions] -# hgext.patchbomb = -# -# To 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, ... -# -# 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 an an introductory -# message describing the patches of your patchbomb. Then when all is -# done, patchbomb messages are displayed. If 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, i.e. 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: -# -# % formail -s sendmail -bm -t < mbox -# -# That should be all. Now your patchbomb is on its way out. +'''sending 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. + +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 remainder of the changeset description. + + [Optional] If the diffstat program is installed, the result of + running diffstat on the patch. + + The patch itself, as generated by "hg export". + +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. + +To enable this extension: + + [extensions] + hgext.patchbomb = + +To 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, ... + +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 an an introductory +message describing the patches of your patchbomb. Then when all is +done, patchbomb messages are displayed. If 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, i.e. 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: + + % formail -s sendmail -bm -t < mbox + +That should be all. Now your patchbomb is on its way out.''' import os, errno, socket, tempfile, cStringIO import email.MIMEMultipart, email.MIMEText, email.MIMEBase