diff options
author | Linus Arver <linusa@google.com> | 2024-03-15 07:55:03 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-03-15 18:10:25 +0100 |
commit | 9f0c9702de9c87aa30697d88c4dc9ad0610f4201 (patch) | |
tree | 3b6277bc9cbc47fae68a29271069d25c36d350a8 /trailer.h | |
parent | format_trailer_info(): drop redundant unfold_value() (diff) | |
download | git-9f0c9702de9c87aa30697d88c4dc9ad0610f4201.tar.xz git-9f0c9702de9c87aa30697d88c4dc9ad0610f4201.zip |
format_trailer_info(): append newline for non-trailer lines
This wraps up the preparatory refactors to unify the trailer formatters.
Two patches ago we made format_trailer_info() use trailer_item objects
instead of the "trailers" string array. The strings in the array
include trailing newlines, because the string array is split up with
trailer_lines = strbuf_split_buf(str + trailer_block_start,
end_of_log_message - trailer_block_start,
'\n',
0);
in trailer_info_get() and strbuf_split_buf() includes the terminator (in
this case the newline character '\n') for each split-up substring.
And before we made the transition to use trailer_item objects for it,
format_trailer_info() called parse_trailer() (which trims newlines) for
trailer lines but did _not_ call parse_trailer() for non-trailer lines.
So for trailer lines it had to add back the trimmed newline like this
if (!opts->separator)
strbuf_addch(out, '\n');
But for non-trailer lines it didn't have to add back the newline because
it could just reuse same string in the "trailers" string array (which
again, already included the trailing newline).
Now that format_trailer_info() uses trailer_item objects for all cases,
it can't rely on "trailers" string array anymore. And so it must be
taught to add a newline back when printing non-trailer lines, just like
it already does for trailer lines. Do so now.
The test suite can pass again without the need to hide failures
with *_failure, so flip the affected test cases back to *_success. Now,
format_trailer_info() is in better shape to supersede format_trailers(),
which we'll do in the next commit.
Signed-off-by: Linus Arver <linusa@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'trailer.h')
0 files changed, 0 insertions, 0 deletions