Re: [PATCH 4/7] revision, rev-parse: factorize incompatibility messages about --exclude-hidden
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Dec 7, 2023, 07:10 UTC
- Message-ID
- <ZXFvzAb93otxIPjs@tanuki>
- In-Reply-To
- <ZXDKjdOiIdHipaKy@nand.local>
On Wed, Dec 06, 2023 at 02:25:01PM -0500, Taylor Blau wrote:
Show 21 quoted lines
> On Wed, Dec 06, 2023 at 06:07:29PM +0100, René Scharfe wrote:
> > > It's not perfect
> > > of course, but would at least ensure that we can easily convert things
> > > over time without having to duplicate the exact message everywhere.
> >
> > Maybe the simplest option would be to use a macro, e.g.
> >
> > #define INCOMPATIBLE_OPTIONS_MESSAGE \
> > _("options '%s' and '%s' cannot be used together")
> >
> > It could be used with both error() and die(), and the compiler would
> > still ensure that two strings are passed along with it, but I don't know
> > how to encode that requirement in the macro name somehow to make it
> > self-documenting. Perhaps by getting the number two in there?
>
> I think that this is a great idea. It nicely solves Patrick's concern
> that we have to duplicate this message ID everywhere, and equally solves
> yours by calling error() inline instead of having to pass down the
> option values.
>
> I think that including a number in the macro name would be helpful here.Does our i18n tooling know how to extract such messages defined in macros? I have to admit I don't really know how it works under the hood. But if it does work then this looks like a good solution to me.
Patrick