diff options
author | Hariom Verma <hariom18599@gmail.com> | 2020-08-21 21:06:14 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-08-21 14:46:22 -0700 |
commit | 2c22e102f8cae598061be509344c6fdaf99c7db7 (patch) | |
tree | 1d1734e63ff9fc4518ae61bac9b1d2f5af6ea37e /ref-filter.c | |
parent | t6300: unify %(trailers) and %(contents:trailers) tests (diff) | |
download | tgif-2c22e102f8cae598061be509344c6fdaf99c7db7.tar.xz |
ref-filter: 'contents:trailers' show error if `:` is missing
The 'contents' atom does not show any error if used with 'trailers'
atom and colon is missing before trailers arguments.
e.g %(contents:trailersonly) works, while it shouldn't.
It is definitely not an expected behavior.
Let's fix this bug.
Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Mentored-by: Heba Waly <heba.waly@gmail.com>
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Hariom Verma <hariom18599@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ref-filter.c')
-rw-r--r-- | ref-filter.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ref-filter.c b/ref-filter.c index 8447cb09be..f6200196a3 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -342,9 +342,11 @@ static int contents_atom_parser(const struct ref_format *format, struct used_ato atom->u.contents.option = C_SIG; else if (!strcmp(arg, "subject")) atom->u.contents.option = C_SUB; - else if (skip_prefix(arg, "trailers", &arg)) { - skip_prefix(arg, ":", &arg); - if (trailers_atom_parser(format, atom, *arg ? arg : NULL, err)) + else if (!strcmp(arg, "trailers")) { + if (trailers_atom_parser(format, atom, NULL, err)) + return -1; + } else if (skip_prefix(arg, "trailers:", &arg)) { + if (trailers_atom_parser(format, atom, arg, err)) return -1; } else if (skip_prefix(arg, "lines=", &arg)) { atom->u.contents.option = C_LINES; |