Re: [PATCH v3 2/4] ref-filter: 'contents:trailers' show error if `:` is missing
- From
Hariom verma <hariom18599@gmail.com>
- Date
- Aug 21, 2020, 16:19 UTC
- Message-ID
- <CA+CkUQ-2sCguVx2SVJhEZj0WJefxFDt28HD=R5WD_wk25sZV0A@mail.gmail.com>
- In-Reply-To
- <CAPig+cSxjRoBE9FNqBW_xSkct6F23HmVSPhta_b4YD+MJERcTA@mail.gmail.com>
Hi Eric,
On Sat, Aug 22, 2020 at 2:43 AM Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 16 quoted lines
> > On Fri, Aug 21, 2020 at 5:06 PM Hariom Verma via GitGitGadget > <gitgitgadget@gmail.com> wrote: > > 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 <sunshine@sunshineco.com> > > 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.
Sorry about that. Fixing in the next version.
Show 16 quoted lines
> > Signed-off-by: Hariom Verma <hariom18599@gmail.com>
> > ---
> > 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).Thanks for the review.
Show 5 quoted lines
> > 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).
Sorry, I missed that too.
Thanks, Hariom