Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/mail.py @ 37458:00e4bd97b095
procutil: always popen() in binary mode
On Python 3, non-binary stream is useless. Let's convert line ending by
ourselves.
Note that we don't need fromnativeeol() in patch._externalpatch() since
any whitespace characters are rstrip()-ed.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 07 Apr 2018 20:50:38 +0900 |
parents | a8a902d7176e |
children | bbd240f81ac5 |
comparison
equal
deleted
inserted
replaced
37457:d83191e9749b | 37458:00e4bd97b095 |
---|---|
142 '''send mail using sendmail.''' | 142 '''send mail using sendmail.''' |
143 program = ui.config('email', 'method') | 143 program = ui.config('email', 'method') |
144 cmdline = '%s -f %s %s' % (program, stringutil.email(sender), | 144 cmdline = '%s -f %s %s' % (program, stringutil.email(sender), |
145 ' '.join(map(stringutil.email, recipients))) | 145 ' '.join(map(stringutil.email, recipients))) |
146 ui.note(_('sending mail: %s\n') % cmdline) | 146 ui.note(_('sending mail: %s\n') % cmdline) |
147 fp = procutil.popen(cmdline, 'w') | 147 fp = procutil.popen(cmdline, 'wb') |
148 fp.write(msg) | 148 fp.write(util.tonativeeol(msg)) |
149 ret = fp.close() | 149 ret = fp.close() |
150 if ret: | 150 if ret: |
151 raise error.Abort('%s %s' % ( | 151 raise error.Abort('%s %s' % ( |
152 os.path.basename(program.split(None, 1)[0]), | 152 os.path.basename(program.split(None, 1)[0]), |
153 procutil.explainexit(ret)[0])) | 153 procutil.explainexit(ret)[0])) |