hgext/patchbomb.py
changeset 5866 dc6ed2736c81
parent 5819 89ea99c7bdfd
child 5915 d0576d065993
child 5947 528c986f0162
equal deleted inserted replaced
5865:e7127f669edb 5866:dc6ed2736c81
   379     ui.write('\n')
   379     ui.write('\n')
   380 
   380 
   381     parent = None
   381     parent = None
   382 
   382 
   383     sender_addr = email.Utils.parseaddr(sender)[1]
   383     sender_addr = email.Utils.parseaddr(sender)[1]
       
   384     sendmail = None
   384     for m in msgs:
   385     for m in msgs:
   385         try:
   386         try:
   386             m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
   387             m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
   387         except TypeError:
   388         except TypeError:
   388             m['Message-Id'] = genmsgid('patchbomb')
   389             m['Message-Id'] = genmsgid('patchbomb')
   424             fp.write('From %s %s\n' % (sender_addr, date))
   425             fp.write('From %s %s\n' % (sender_addr, date))
   425             fp.write(m.as_string(0))
   426             fp.write(m.as_string(0))
   426             fp.write('\n\n')
   427             fp.write('\n\n')
   427             fp.close()
   428             fp.close()
   428         else:
   429         else:
       
   430             if not sendmail:
       
   431                 sendmail = mail.connect(ui)
   429             ui.status('Sending ', m['Subject'], ' ...\n')
   432             ui.status('Sending ', m['Subject'], ' ...\n')
   430             # Exim does not remove the Bcc field
   433             # Exim does not remove the Bcc field
   431             del m['Bcc']
   434             del m['Bcc']
   432             mail.sendmail(ui, sender, to + bcc + cc, m.as_string(0))
   435             sendmail(ui, sender, to + bcc + cc, m.as_string(0))
   433 
   436 
   434 cmdtable = {
   437 cmdtable = {
   435     "email":
   438     "email":
   436         (patchbomb,
   439         (patchbomb,
   437          [('a', 'attach', None, _('send patches as attachments')),
   440          [('a', 'attach', None, _('send patches as attachments')),