I just noticed that "git imap-send" with imap.preformattedHTML turned on is broken for multipart messages. The problem is that "git imap-send" embeds *everything* after the main email header in <pre></pre> and HTML-escapes it, instead of splitting out the email parts and quoting their bodies individually.
Ironically, the "git imap-send" manpage specifically lists the typical usage as
git format-patch --signoff --stdout --attach origin | git imap-send
which is broken if imap.preformattedHTML is set.
It seems to me that rather than fix "git imap-send" (which would require it to become more complicated), it would be better to teach "git format-patch" how to do preformatting and restrict "git imap-send" to sending messages verbatim to an IMAP server. Moving the functionality to "git format-patch" would also make it possible to create preformatted emails to be used with other transports.
Oh, and, by the way, "git imap-send" is utterly untested by the test suite. The fact that it is intrinsically hard to test without lots of extra infrastructure is another argument for making it as stupid as possible.
I don't plan to work on this.
Michael
-- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/