Re: [PATCH] am: fix error message in parse_opt_show_current_patch()
- From
Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
- Date
- Sep 21, 2023, 19:28 UTC
- Message-ID
- <ZQyZcs/zXnPqc0Zd@ugly>
- In-Reply-To
- <xmqqh6nn5oo9.fsf@gitster.g>
On Thu, Sep 21, 2023 at 12:09:10PM -0700, Junio C Hamano wrote:
Show 9 quoted lines
>Oswald Buddenhagen <oswald.buddenhagen@gmx.de> 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