Subject: Re: [PATCH] am: fix error message in parse_opt_show_current_patch()

From: Oswald Buddenhagen <[email-masked]>
Date: Thu, 21 Sep 2023 21:28:50 +0200

On Thu, Sep 21, 2023 at 12:09:10PM -0700, Junio C Hamano wrote:
>Oswald Buddenhagen <[email-masked]> writes:
>> fwiw, this is currently the only message that actually uses the %s=%s
>> format, so as of now, factoring out the argument names has only
>> theoretical value.
>
>I am not sure I follow, if you mean that the programmer needs to
>pass "--show-current-patch" only once if we used something like
>"%1$s=%2s and %1$s=%3s", I agree that it probably has little value.
>
no, i mean that that the usual pattern is just "options '%s' and '%s' 
cannot be used together". this format string is indeed used many times, 
so it makes sense to factor out the option names to avoid duplication of 
translatable strings. not so here. but this particular case is still a 
lot less specialized than many of the other strings replaced by the 
referenced patch, and it's at least plausible that further uses would be 
added at some point, so i left it as-is.

i thought about the duplication of the option string as well, but 
compilers should merge the string constants, so that part is indeed 
de-duplicated. the cost of the extra pointer push could be avoided by 
use of the %1$s syntax, but afaict that's unprecedented in git, and i 
kind of expect that some printf implementation would throw up from it.
also, it might reduce the chance of the format being used in another 
place, but who knows.

regards