On 10/04/2016 11:28 AM, Junio C Hamano wrote:
An addendum. We may also want to be prepared to accept an input that has some garbage lines _after_ the trailer block, if we can clearly identify them as such. For example, we could change the definition of "the last paragraph" as "the block of lines that do not have any empty (or blank) line, that appear either at the end of the input, or immediately before three-dash lines", to allow commit title explanation of the change Signed-off-by: Some Body <some@xxxxxxx> [some other things] Acked-by: Some Other Person <some@xxxxxxxx> --- additional comment which (unfortunately) is a rather common pattern for people who plan to send the commit over e-mail. If we add a new field "const char *beginning_of_tail_garbage" next to "end_of_message_proper" that points at the blank line before the three-dash line in the above example, the parser should be able to break such an input into a parsed form, allow the trailer[] array to be manipulated and reproduce a commit log message.
How important is this feature? It doesn't seem too difficult to add, although it does break compatibility (in particular, "--signoff" must now be documented as "after the last trailer" instead of "at the end of the commit message").