Thread (1 message) 1 message, 1 author, 2020-08-21

Re: [PATCH v3 2/4] ref-filter: 'contents:trailers' show error if `:` is missing

From: Junio C Hamano <hidden>
Date: 2020-08-21 21:54:28

Eric Sunshine [off-list ref] writes:
On Fri, Aug 21, 2020 at 5:06 PM Hariom Verma via GitGitGadget
[off-list ref] wrote:
quoted
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.

Acked-by: Eric Sunshine <redacted>
I didn't "ack" this patch. If you think some sort of attribution with
my name is warranted, then a "Helped-by:" would be more appropriate.
Yes, I did exactly that after moving it just above Hariom's sign-off.
quoted
Signed-off-by: Hariom Verma <redacted>
---
diff --git a/ref-filter.c b/ref-filter.c
@@ -345,9 +345,11 @@ static int contents_atom_parser(const struct ref_format *format, struct used_ato
-       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;
This looks better and easier to reason about (but I may be biased in
thinking so).
quoted
diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh
@@ -823,6 +823,14 @@ test_expect_success '%(trailers) rejects unknown trailers arguments' '
+test_expect_success 'if arguments, %(contents:trailers) shows error if semicolon is missing' '
This still needs a s/semicolon/colon/ (mentioned in my previous review).
Yup.  Tweaked while queueing.

Thanks always for sharp eyes.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help