* [PATCH] describe: use Q_() for pluralization of commit and tag counts
@ 2026-10-15 9:54 Raj Ojha via GitGitGadget
2026-10-16 15:51 ` Junio C Hamano
0 siblings, 1 reply; 2+ messages in thread
From: Raj Ojha via GitGitGadget @ 2026-10-15 9:54 UTC (permalink / raw)
To: git; +Cc: Raj Ojha, Raj Ojha
From: Raj Ojha <rajojha047@gmail.com>
In `describe_commit()`, debug messages print the number of commits
traversed and the number of candidate tags found using basic `_()`
localization format strings:
_("traversed %lu commits\n")
_("found %i tags; gave up search at %s\n")
Because these messages display an integer count of items, using `_()`
fails to account for languages whose pluralization rules differ from
English (such as languages with multiple plural forms).
Replace these calls with `Q_()` to allow gettext (`ngettext()`) to choose
the grammatically appropriate singular or plural string depending on the
integer count.
Signed-off-by: Raj Ojha <rajojha047@gmail.com>
---
describe: use Q_() for pluralization of commit and tag counts
In describe_commit(), debug messages print the number of commits
traversed and the number of candidate tags found using basic _()
localization format strings:
_("traversed %lu commits\n")
_("found %i tags; gave up search at %s\n")
Because these messages display an integer count of items, using _()
fails to account for languages whose pluralization rules differ from
English (such as languages with multiple plural forms).
Replace these calls with Q_() to allow gettext (ngettext()) to choose
the grammatically appropriate singular or plural string depending on the
integer count.
Signed-off-by: Raj Ojha rajojha047@gmail.com
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2257%2FRajojha-1%2Fdescribe-q-pluralize-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2257/Rajojha-1/describe-q-pluralize-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2257
builtin/describe.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/builtin/describe.c b/builtin/describe.c
index c0abc931a5..1a7317c811 100644
--- a/builtin/describe.c
+++ b/builtin/describe.c
@@ -481,10 +481,16 @@ static void describe_commit(struct commit *cmit, struct strbuf *dst)
label_width, _(prio_names[t->name->prio]),
t->depth, t->name->path);
}
- fprintf(stderr, _("traversed %lu commits\n"), seen_commits);
+ fprintf(stderr,
+ Q_("traversed %lu commit\n",
+ "traversed %lu commits\n",
+ seen_commits),
+ seen_commits);
if (gave_up_on) {
fprintf(stderr,
- _("found %i tags; gave up search at %s\n"),
+ Q_("found %i tag; gave up search at %s\n",
+ "found %i tags; gave up search at %s\n",
+ max_candidates),
max_candidates,
oid_to_hex(&gave_up_on->object.oid));
}
base-commit: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd
--
gitgitgadget
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] describe: use Q_() for pluralization of commit and tag counts
2026-10-15 9:54 [PATCH] describe: use Q_() for pluralization of commit and tag counts Raj Ojha via GitGitGadget
@ 2026-10-16 15:51 ` Junio C Hamano
0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2026-10-16 15:51 UTC (permalink / raw)
To: Raj Ojha via GitGitGadget; +Cc: git, Raj Ojha
"Raj Ojha via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: Raj Ojha <rajojha047@gmail.com>
>
> In `describe_commit()`, debug messages print the number of commits
> traversed and the number of candidate tags found using basic `_()`
> localization format strings:
>
> _("traversed %lu commits\n")
> _("found %i tags; gave up search at %s\n")
>
> Because these messages display an integer count of items, using `_()`
> fails to account for languages whose pluralization rules differ from
> English (such as languages with multiple plural forms).
>
> Replace these calls with `Q_()` to allow gettext (`ngettext()`) to choose
> the grammatically appropriate singular or plural string depending on the
> integer count.
>
> Signed-off-by: Raj Ojha <rajojha047@gmail.com>
> ---
Is this convergent evolution or something? The similarity to
https://lore.kernel.org/git/20261013204351.428800-1-antekborowski11@gmail.com/
is striking.
It's not like anybody who sent a change on a piece of code
automatically owns the area to be improved, but we would love to see
more collaboration and a better use of the lore archive to find
similar effort being made before people send patches.
https://lore.kernel.org/git/?q=describe+Q_
> describe: use Q_() for pluralization of commit and tag counts
>
> In describe_commit(), debug messages print the number of commits
> traversed and the number of candidate tags found using basic _()
> localization format strings:
>
> _("traversed %lu commits\n")
> _("found %i tags; gave up search at %s\n")
>
>
> Because these messages display an integer count of items, using _()
> fails to account for languages whose pluralization rules differ from
> English (such as languages with multiple plural forms).
>
> Replace these calls with Q_() to allow gettext (ngettext()) to choose
> the grammatically appropriate singular or plural string depending on the
> integer count.
You do not want to repeat your log message below the three-dash
line. It wastes everybody's time.
> diff --git a/builtin/describe.c b/builtin/describe.c
> index c0abc931a5..1a7317c811 100644
> --- a/builtin/describe.c
> +++ b/builtin/describe.c
> @@ -481,10 +481,16 @@ static void describe_commit(struct commit *cmit, struct strbuf *dst)
> label_width, _(prio_names[t->name->prio]),
> t->depth, t->name->path);
> }
> - fprintf(stderr, _("traversed %lu commits\n"), seen_commits);
> + fprintf(stderr,
> + Q_("traversed %lu commit\n",
> + "traversed %lu commits\n",
> + seen_commits),
> + seen_commits);
> if (gave_up_on) {
> fprintf(stderr,
> - _("found %i tags; gave up search at %s\n"),
> + Q_("found %i tag; gave up search at %s\n",
> + "found %i tags; gave up search at %s\n",
> + max_candidates),
> max_candidates,
> oid_to_hex(&gave_up_on->object.oid));
> }
Both the log message and patch text look cleanly done.
Thanks.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-16 15:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-15 9:54 [PATCH] describe: use Q_() for pluralization of commit and tag counts Raj Ojha via GitGitGadget
2026-10-16 15:51 ` Junio C Hamano
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.