comparison hgext/patchbomb.py @ 2926:13cd2cdeff6a

hgext: more patchbomb documentation + Add a description of how to enable this extension + Note which command it provides (it's not very easy to guess that "hgext.patchbomb" enables the "email" command, unless one can read Python sources) + Expand the descriptions of the -n and -m options of "hg email". + Mention that formail is (commonly) part of the procmail package.
author Giorgos Keramidas <keramida@ceid.upatras.gr>
date Tue, 15 Aug 2006 23:37:37 +0300
parents 20b95aef3fe0
children af71034aac90
comparison
equal deleted inserted replaced
2925:14b4ad613dd8 2926:13cd2cdeff6a
21 # 21 #
22 # For each changeset, you will be prompted with a diffstat summary and 22 # For each changeset, you will be prompted with a diffstat summary and
23 # the changeset summary, so you can be sure you are sending the right 23 # the changeset summary, so you can be sure you are sending the right
24 # changes. 24 # changes.
25 # 25 #
26 # It is best to run this script with the "-n" (test only) flag before 26 # To enable this extension:
27 # firing it up "for real", in which case it will use your pager to 27 #
28 # display each of the messages that it would send. 28 # [extensions]
29 # 29 # hgext.patchbomb =
30 # The "-m" (mbox) option will create an mbox file instead of sending
31 # the messages directly. This can be reviewed e.g. with "mutt -R -f mbox",
32 # and finally sent with "formail -s sendmail -bm -t < mbox".
33 # 30 #
34 # To configure other defaults, add a section like this to your hgrc 31 # To configure other defaults, add a section like this to your hgrc
35 # file: 32 # file:
36 # 33 #
37 # [email] 34 # [email]
38 # from = My Name <my@email> 35 # from = My Name <my@email>
39 # to = recipient1, recipient2, ... 36 # to = recipient1, recipient2, ...
40 # cc = cc1, cc2, ... 37 # cc = cc1, cc2, ...
41 # bcc = bcc1, bcc2, ... 38 # bcc = bcc1, bcc2, ...
39 #
40 # Then you can use the "hg email" command to mail a series of changesets
41 # as a patchbomb.
42 #
43 # To avoid sending patches prematurely, it is a good idea to first run
44 # the "email" command with the "-n" option (test only). You will be
45 # prompted for an email recipient address, a subject an an introductory
46 # message describing the patches of your patchbomb. Then when all is
47 # done, your pager will be fired up once for each patchbomb message, so
48 # you can verify everything is alright.
49 #
50 # The "-m" (mbox) option is also very useful. Instead of previewing
51 # each patchbomb message in a pager or sending the messages directly,
52 # it will create a UNIX mailbox file with the patch emails. This
53 # mailbox file can be previewed with any mail user agent which supports
54 # UNIX mbox files, i.e. with mutt:
55 #
56 # % mutt -R -f mbox
57 #
58 # When you are previewing the patchbomb messages, you can use `formail'
59 # (a utility that is commonly installed as part of the procmail package),
60 # to send each message out:
61 #
62 # % formail -s sendmail -bm -t < mbox
63 #
64 # That should be all. Now your patchbomb is on its way out.
42 65
43 from mercurial.demandload import * 66 from mercurial.demandload import *
44 demandload(globals(), '''email.MIMEMultipart email.MIMEText email.Utils 67 demandload(globals(), '''email.MIMEMultipart email.MIMEText email.Utils
45 mercurial:commands,hg,ui 68 mercurial:commands,hg,ui
46 os errno popen2 socket sys tempfile time''') 69 os errno popen2 socket sys tempfile time''')