From: Linus Arver <linusa@xxxxxxxxxx> This fixes 4 tests in t7513 to go from t7513-interpret-trailers.sh (Wstat: 256 (exited 1) Tests: 94 Failed: 55) Failed tests: 2-5, 8, 14, 24-28, 31-37, 43-62, 66-74 77-80, 82-85 to t7513-interpret-trailers.sh (Wstat: 256 (exited 1) Tests: 94 Failed: 51) Failed tests: 2-5, 14, 24-28, 31-32, 36-37, 43-62, 66-74 77-80, 82-85 . The next patch will fix the remaining broken test cases in t7513 and t7502. Even though the next patch fixes the vast majority of these test cases, we have to position that patch after this one to avoid breaking the build because of the way these patches delete relevant (and obsolete) code. Signed-off-by: Linus Arver <linusa@xxxxxxxxxx> --- trailer.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/trailer.c b/trailer.c index f4defad3dae..c28b6c11cc5 100644 --- a/trailer.c +++ b/trailer.c @@ -162,20 +162,6 @@ static void print_tok_val(struct strbuf *out, const char *tok, const char *val) strbuf_addf(out, "%s%c %s\n", tok, separators[0], val); } -static void format_trailers(const struct process_trailer_options *opts, - struct list_head *trailers, - struct strbuf *out) -{ - struct list_head *pos; - struct trailer_item *item; - list_for_each(pos, trailers) { - item = list_entry(pos, struct trailer_item, list); - if ((!opts->trim_empty || strlen(item->value) > 0) && - (!opts->only_trailers || item->token)) - print_tok_val(out, item->token, item->value); - } -} - static struct trailer_item *trailer_from_arg(struct arg_item *arg_tok) { struct trailer_item *new_item = xcalloc(1, sizeof(*new_item)); @@ -1101,6 +1087,15 @@ void format_trailer_info(const struct process_trailer_options *opts, strbuf_addstr(&tok, item->token); strbuf_addstr(&val, item->value); + /* + * Skip key/value pairs where the value was empty. This + * can happen from trailers specified without a + * separator, like `--trailer "Reviewed-by"` (no + * corresponding value). + */ + if (opts->trim_empty && !strlen(item->value)) + continue; + if (!opts->filter || opts->filter(&tok, opts->filter_data)) { if (opts->separator && out->len != origlen) strbuf_addbuf(out, opts->separator); -- gitgitgadget