Main changes are: - implemented the previously discussed trailer block recognizing rule (recognized trailer + 25% trailers or 100% trailers) - forbidding leading whitespace in trailers to avoid false positives Once the recognized trailer + 25% trailers rule is implemented, implementing the 100% trailer rule gives us backwards compatibility and is only a few lines of code, so I included it. Summary of changes from v3: 2/6->2/8: - squashed Ramsay Jones's "static" patch new->5/8: - new patch 5/6->6/8: - new trailer block recognizing rule - reverted to the existing behavior of ignoring comments, since the number of trailers and non-trailers in the trailer block now matters more new->7/8: - new patch 6/6->8/8: - updated trailer block recognizing code, since the continuation lines must not be counted if they follow a trailer line Jonathan Tan (8): trailer: improve const correctness trailer: use list.h for doubly-linked list trailer: streamline trailer item create and add trailer: make args have their own struct trailer: clarify failure modes in parse_trailer trailer: allow non-trailers in trailer block trailer: forbid leading whitespace in trailers trailer: support values folded to multiple lines Documentation/git-interpret-trailers.txt | 14 +- t/t7513-interpret-trailers.sh | 299 +++++++++++++++ trailer.c | 619 +++++++++++++++++-------------- 3 files changed, 651 insertions(+), 281 deletions(-) -- 2.8.0.rc3.226.g39d4020