Re: [PATCH v2] log: add log.excludeDecoration config option
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Apr 16, 2020, 12:36 UTC
- Message-ID
- <681fc3a9-9402-44a0-dc73-56c8ad14ba47@gmail.com>
- In-Reply-To
- <xmqqblns7j4u.fsf@gitster.c.googlers.com>
On 4/15/2020 1:29 PM, Junio C Hamano wrote:
Show 50 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> Hmph. Do we still need "found" here? If there are include patterns
>> given explicitly from the command line, a ref MUST match one of them
>> in order to be included, and a ref that matches one of them will be
>> included no matter that exclude config says.
>>
>> So shouldn't the updated logic for the include patterns part be more
>> like ...
>
> I still think that the two clean-ups I mentioned are both worth
> doing, but without them, but with the simplification of the code
> I suggested, the resulting helper becomes like this, which I think
> is quite easy to understand. It seems to pass t4202, which you
> updated, too.
>
>
>
> int ref_filter_match(const char *refname,
> const struct string_list *include_patterns,
> const struct string_list *exclude_patterns,
> const struct string_list *exclude_patterns_config)
> {
> struct string_list_item *item;
>
> if (exclude_patterns && exclude_patterns->nr) {
> for_each_string_list_item(item, exclude_patterns) {
> if (match_ref_pattern(refname, item))
> return 0;
> }
> }
>
> if (include_patterns && include_patterns->nr) {
> for_each_string_list_item(item, include_patterns) {
> if (match_ref_pattern(refname, item)) {
> return 1;
> }
> }
> return 0;
> }
>
> if (exclude_patterns_config && exclude_patterns_config->nr) {
> for_each_string_list_item(item, exclude_patterns_config) {
> if (match_ref_pattern(refname, item))
> return 0;
> }
> }
>
> return 1;
> }This reorganization of the code is much cleaner, and it can guide cleaning up the documentation comment in the header file.
I see you included it in a SQUASH??? commit, which I will squash into my branch for v3.
Thanks, -Stolee