Re: [PATCH v4 1/2] ref-filter: add multiple-option parsing functions

Junio C Hamano
2023-07-24T17:30:02Z

Kousik Sanagavarapu <five231003@gmail.com> writes:

> The functions
>
> match_placeholder_arg_value()
> match_placeholder_bool_arg()
>
> were added in pretty 4f732e0fd7 (pretty: allow %(trailers) options
> with explicit value, 2019-01-29) to parse multiple options in an
> argument to --pretty. For example,
>
> git log --pretty="%(trailers:key=Signed-Off-By,separator=%x2C )"
>
> will output all the trailers matching the key and seperates them by
> a comma followed by a space per commit.
>
> Add similar functions,
>
> match_atom_arg_value()
> match_atom_bool_arg()
>
> in ref-filter.

What are their similarities, and in what way are they different? If
they are similar enough, is it reasonable to allow these two pairs
of helpers to share code (the best case would be we can just call
the existing ones, possibly changing their names to more suitable
ones that fit their now-more-general-purpose nature better)?

> There is no atom yet that can use these functions in ref-filter, but we
> are going to add a new %(describe) atom in a subsequent commit where we
> parse options like tags=<bool-value> or match=<pattern> given to it.
>
> Helped-by: Junio C Hamano <gitster@pobox.com>
> Mentored-by: Christian Couder <christian.couder@gmail.com>
> Mentored-by: Hariom Verma <hariom18599@gmail.com>
> Signed-off-by: Kousik Sanagavarapu <five231003@gmail.com>
> ---
> ref-filter.c | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 105 insertions(+)

Asking just out of curiousity, all patches from you seem to have
"Mentored-by" naming your mentors, but how deeply involved are they
in each patch you send out? Is it like you first ask them to review
and only after addressing the issues their reviews raise, you are
sending the polished patches to the list? Or are they not deeply
involved in the code but offering suggestions on the design (I am
curious what their reactions were on your design decision to
add the two helper functions)?