Subject: Re: [PATCH v3 4/4] add-patch: add diff.context command line overrides

From: Phillip Wood <[email-masked]>
Date: Wed, 2 Jul 2025 15:07:15 +0100

On 01/07/2025 16:54, Junio C Hamano wrote:
> Phillip Wood <[email-masked]> writes:
> 
>>>    * add OPT_DIFF_*() macros to parse-options API, as its utility is
>>>      very narrow, and forces those who are learning parse-options API
>>>      to learn one more thing.
>>
>> It means that we have consistent help for all the commands with these
>> options which I think is valuable. We have a number of other macros
>> that define options that are shared between commands and I think that
>> works quite well.
> 
> I understand that principe.  What I was wondering was if there are
> enough places to use these particular ones to make it worthwhile to
> enlarge the set of OPT_* macros.

There are six users of each of these macros so I think it is worthwhile. 
That's two more users than there are for OPT_RERERE_AUTOUPDATE() and 
twice as many users as OPT_CONTAINS().

>>>    * validation of the value range to be duplicated for each and
>>> every
>>>      users of the new OPT_DIFF_*() macros.
>>
>> Yes the validation is awkward. If we changed the OPT_DIFF_* to use a
>> callback that rejected negative values that would reduce the
>> duplication.
> 
> Yeah, I was wondering about that approach, too.  Another benefit
> with the "validate just after we parse the value before we assign
> the result to a variable or a struct member" approach is that we can
> also complain about -1 that is given from the command line (which
> the current code ignores, if I am not mistaken, because it needs to
> be silent if that -1 is there merely because it is the "not set yet"
> sentinel value).
> 
> Or perhaps the valid value range Réne has been workingon canbe used
> here?

That would be nice

Thanks

Phillip