trailer: allow non-trailers in trailer block
commit146245063e286d5a38b146bd5a38da958bd3957b
authorJonathan Tan <jonathantanmy@google.com>
Fri, 21 Oct 2016 17:55:01 +0000 (21 10:55 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 21 Oct 2016 18:48:35 +0000 (21 11:48 -0700)
tree23fa72e5614b7aa4c4e12df2ccd01dbcc80ae589
parentfdbf4510aeb7e7b860c2ee77b8a4a3c5787fe182
trailer: allow non-trailers in trailer block

Currently, interpret-trailers requires all lines of a trailer block to
be trailers (or comments) - if not it would not identify that block as a
trailer block, and thus create its own trailer block, inserting a blank
line.  For example:

  echo -e "\nSigned-off-by: x\nnot trailer" |
  git interpret-trailers --trailer "c: d"

would result in:

Signed-off-by: x
  not trailer

  c: d

Relax the definition of a trailer block to require that the trailers (i)
are all trailers, or (ii) contain at least one Git-generated trailer and
consists of at least 25% trailers.

Signed-off-by: x
  not trailer
  c: d

(i) is the existing functionality. (ii) allows arbitrary lines to be
included in trailer blocks, like those in [1], and still allow
interpret-trailers to be used.

[1]
https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable/+/e7d316a02f683864a12389f8808570e37fb90aa3

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-interpret-trailers.txt
t/t7513-interpret-trailers.sh
trailer.c