Mercurial > hg > mercurial-crew-with-dirclash
comparison hgext/patchbomb.py @ 2706:4af7b178976a
patchbomb: optionally send patches as inline attachments
author | Christian Ebert <blacktrash@gmx.net> |
---|---|
date | Thu, 27 Jul 2006 22:28:03 +0200 |
parents | 030d0abdf91b |
children | 084f07cacba0 |
comparison
equal
deleted
inserted
replaced
2705:030d0abdf91b | 2706:4af7b178976a |
---|---|
128 while patch and patch[0].startswith('# '): patch.pop(0) | 128 while patch and patch[0].startswith('# '): patch.pop(0) |
129 if patch: patch.pop(0) | 129 if patch: patch.pop(0) |
130 while patch and not patch[0].strip(): patch.pop(0) | 130 while patch and not patch[0].strip(): patch.pop(0) |
131 if opts['diffstat']: | 131 if opts['diffstat']: |
132 body += cdiffstat('\n'.join(desc), patch) + '\n\n' | 132 body += cdiffstat('\n'.join(desc), patch) + '\n\n' |
133 body += '\n'.join(patch) | 133 if opts['attach']: |
134 msg = email.MIMEText.MIMEText(body) | 134 msg = email.MIMEMultipart.MIMEMultipart() |
135 if body: msg.attach(email.MIMEText.MIMEText(body, 'plain')) | |
136 msg.attach(email.MIMEText.MIMEText('\n'.join(patch), 'x-patch')) | |
137 else: | |
138 body += '\n'.join(patch) | |
139 msg = email.MIMEText.MIMEText(body) | |
135 if total == 1: | 140 if total == 1: |
136 subj = '[PATCH] ' + desc[0].strip() | 141 subj = '[PATCH] ' + desc[0].strip() |
137 else: | 142 else: |
138 subj = '[PATCH %d of %d] %s' % (idx, total, desc[0].strip()) | 143 subj = '[PATCH %d of %d] %s' % (idx, total, desc[0].strip()) |
139 if subj.endswith('.'): subj = subj[:-1] | 144 if subj.endswith('.'): subj = subj[:-1] |
272 mail.sendmail(sender, to + bcc + cc, m.as_string(0)) | 277 mail.sendmail(sender, to + bcc + cc, m.as_string(0)) |
273 | 278 |
274 cmdtable = { | 279 cmdtable = { |
275 'email': | 280 'email': |
276 (patchbomb, | 281 (patchbomb, |
277 [('', 'bcc', [], 'email addresses of blind copy recipients'), | 282 [('a', 'attach', None, 'send patches as inline attachments'), |
283 ('', 'bcc', [], 'email addresses of blind copy recipients'), | |
278 ('c', 'cc', [], 'email addresses of copy recipients'), | 284 ('c', 'cc', [], 'email addresses of copy recipients'), |
279 ('d', 'diffstat', None, 'add diffstat output to messages'), | 285 ('d', 'diffstat', None, 'add diffstat output to messages'), |
280 ('f', 'from', '', 'email address of sender'), | 286 ('f', 'from', '', 'email address of sender'), |
281 ('', 'plain', None, 'omit hg patch header'), | 287 ('', 'plain', None, 'omit hg patch header'), |
282 ('n', 'test', None, 'print messages that would be sent'), | 288 ('n', 'test', None, 'print messages that would be sent'), |