Detect plain diffs in e-mail submitted issues and map to attachments
Diffs sent as plain/text message (as with git format-patch + git send-email) in
issues tend to be textilized, which messes up the display. Also, the original
patch file is not easily downloadable for processing.
With this patch, when a diff file is detected in a plain text message without
attachment, the whole e-mail message is converted into a proper attachment
(that is suitable for git am) and only the diff comment is stored in the
The diff detection is based on the following heuristics:
- body contains three consecutive lines starting with "---", "+++" and "@@"
- and body contains a line starting with "---", "diff -" or "Index: "
The message body is split before this detected separator.