71 You can set patchbomb to always ask for confirmation by setting |
71 You can set patchbomb to always ask for confirmation by setting |
72 ``patchbomb.confirm`` to true. |
72 ``patchbomb.confirm`` to true. |
73 ''' |
73 ''' |
74 from __future__ import absolute_import |
74 from __future__ import absolute_import |
75 |
75 |
76 import email as emailmod |
76 import email.encoders as emailencoders |
77 import email.generator as emailgen |
77 import email.generator as emailgen |
78 import email.mime.base as emimebase |
78 import email.mime.base as emimebase |
79 import email.mime.multipart as emimemultipart |
79 import email.mime.multipart as emimemultipart |
80 import email.utils as eutil |
80 import email.utils as eutil |
81 import errno |
81 import errno |
378 datapart = emimebase.MIMEBase('application', 'x-mercurial-bundle') |
378 datapart = emimebase.MIMEBase('application', 'x-mercurial-bundle') |
379 datapart.set_payload(bundle) |
379 datapart.set_payload(bundle) |
380 bundlename = '%s.hg' % opts.get(r'bundlename', 'bundle') |
380 bundlename = '%s.hg' % opts.get(r'bundlename', 'bundle') |
381 datapart.add_header('Content-Disposition', 'attachment', |
381 datapart.add_header('Content-Disposition', 'attachment', |
382 filename=bundlename) |
382 filename=bundlename) |
383 emailmod.Encoders.encode_base64(datapart) |
383 emailencoders.encode_base64(datapart) |
384 msg.attach(datapart) |
384 msg.attach(datapart) |
385 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get(r'test')) |
385 msg['Subject'] = mail.headencode(ui, subj, _charsets, opts.get(r'test')) |
386 return [(msg, subj, None)] |
386 return [(msg, subj, None)] |
387 |
387 |
388 def _makeintro(repo, sender, revs, patches, **opts): |
388 def _makeintro(repo, sender, revs, patches, **opts): |