patch tries to skip any leading text in the patch file,
apply the diff, and then skip any trailing text. Thus you can feed a
mail message directly to
patch, and it should work. If the
entire diff is indented by a constant amount of white space,
patch automatically ignores the indentation. If a context
diff contains trailing carriage return on each line,
automatically ignores the carriage return. If a context diff has been
encapsulated by prepending ‘- ’ to lines beginning with ‘-’
as per Internet RFC 934,
patch automatically unencapsulates the input.
However, certain other types of imperfect input require user intervention or testing.