Currently, there exists a bug in 'contents' atom. It does not show any error if used with modifier 'trailers' and semicolon is missing before trailers arguments. This small patch series is focused on fixing that bug and also unified 'trailers' and 'contents:trailers' tests. Thus, removed duplicate code from t6300 and made tests more compact. Hariom Verma (2): t6300: unify %(trailers) and %(contents:trailers) tests ref-filter: 'contents:trailers' show error if `:` is missing ref-filter.c | 21 +++++++++++++--- t/t6300-for-each-ref.sh | 55 ++++++++++++++--------------------------- 2 files changed, 36 insertions(+), 40 deletions(-) base-commit: 675a4aaf3b226c0089108221b96559e0baae5de9 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-707%2Fharry-hov%2Ffix-trailers-atom-bug-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-707/harry-hov/fix-trailers-atom-bug-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/707 Range-diff vs v1: 1: bd0bb8d0ef ! 1: 4816aa3cfa t6300: unify %(trailers) and %(contents:trailers) tests @@ t/t6300-for-each-ref.sh: test_expect_success 'set up trailers for next test' ' - -test_expect_success '%(contents:trailers:only) and %(contents:trailers:unfold) work together' ' + git for-each-ref --format="%(trailers:only,unfold)" refs/heads/master >actual && -+ git for-each-ref --format="%(trailers:unfold,only)" refs/heads/master >reverse && -+ test_cmp actual reverse && + test_cmp expect actual && ++ git for-each-ref --format="%(trailers:unfold,only)" refs/heads/master >actual && ++ test_cmp actual actual && git for-each-ref --format="%(contents:trailers:only,unfold)" refs/heads/master >actual && - git for-each-ref --format="%(contents:trailers:unfold,only)" refs/heads/master >reverse && - test_cmp actual reverse && +- git for-each-ref --format="%(contents:trailers:unfold,only)" refs/heads/master >reverse && +- test_cmp actual reverse && - { - grep -v patch.description <trailers | unfold && - echo - } >expect && - test_cmp expect actual +- test_cmp expect actual ++ test_cmp expect actual && ++ git for-each-ref --format="%(contents:trailers:unfold,only)" refs/heads/master >actual && ++ test_cmp actual actual ' + test_expect_success '%(trailers) rejects unknown trailers arguments' ' @@ t/t6300-for-each-ref.sh: test_expect_success '%(trailers) rejects unknown trailers arguments' ' fatal: unknown %(trailers) argument: unsupported EOF 2: 7daf9335a5 ! 2: 39aa46bce7 ref-filter: 'contents:trailers' show error if `:` is missing @@ ref-filter.c: static int trailers_atom_parser(const struct ref_format *format, s + return 1; + } + else if (*opt == ':') { -+ *option = ++opt; ++ *option = opt + 1; + return 1; + } + } -- gitgitgadget