diff options
author | Christian Couder <christian.couder@gmail.com> | 2015-08-30 21:14:40 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-31 11:14:08 -0700 |
commit | 5c99995df8ee3b02224f0e2e86a3d1e4bb2f7348 (patch) | |
tree | 4ef2e1820b7241fe34ce5a8faca5082307d388c9 /trailer.c | |
parent | 6262fe9ca3cd61d27ca5c5599ab46d166e5b23a2 (diff) | |
download | git-5c99995df8ee3b02224f0e2e86a3d1e4bb2f7348.tar.gz |
trailer: support multiline titlecc/trailers-corner-case-fix
We currently ignore the first line passed to `git interpret-trailers`,
when looking for the beginning of the trailers.
Unfortunately this does not work well when a commit is created with a
line break in the title, using for example the following command:
git commit -m 'place of
code: change we made'
That's why instead of ignoring only the first line, it is better to
ignore the first paragraph.
Signed-off-by: Christian Couder <christian.couder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'trailer.c')
-rw-r--r-- | trailer.c | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -743,15 +743,22 @@ static int find_patch_start(struct strbuf **lines, int count) */ static int find_trailer_start(struct strbuf **lines, int count) { - int start, only_spaces = 1; + int start, end_of_title, only_spaces = 1; + + /* The first paragraph is the title and cannot be trailers */ + for (start = 0; start < count; start++) { + if (lines[start]->buf[0] == comment_line_char) + continue; + if (contains_only_spaces(lines[start]->buf)) + break; + } + end_of_title = start; /* * Get the start of the trailers by looking starting from the end * for a line with only spaces before lines with one separator. - * The first line must not be analyzed as the others as it - * should be either the message title or a blank line. */ - for (start = count - 1; start >= 1; start--) { + for (start = count - 1; start >= end_of_title; start--) { if (lines[start]->buf[0] == comment_line_char) continue; if (contains_only_spaces(lines[start]->buf)) { |