threads / discuss / 66614

[Outreachy] Microproject: use Q_() in builtin/checkout.c

Subject: [Outreachy] Microproject: use Q_() in builtin/checkout.c

## tl;dr

5 messages between Oct 21, 2026 and Oct 22, 2026.

replies: 4people: 4as markdown or json

Muritala Mudi· Oct 21, 2026, 04:18 UTC · lore
Hi Usman, Christian and Siddharth,

Thank you Usman for the welcome. I took some time to look into the microproject I want to work on and one that got my interest is the Q_() pluralization microproject. I will like to work on builtin/checkout.c. I searched the list archive and I didn't see anyone working on this file yet.

I noticed two places that can get improved with Q_():

Line 1088, " ... and %d more.\n": this is at the end of the warning Git shows when someone leaves a detached HEAD and so commits might be left behind. Git lists up to four commits and then shows this line for the rest.

Line 1492, "only one reference expected, %d given.": this appears when more than one reference is given before --, e.g. git checkout a b --. In both cases the number is always 2 or more, so in English the plural is always shown. But for languages like Polish, which have different plural forms for 2-4 and for 5 and above, it will be inconsistent to use the same form for all cases.

In po/pl.po, the first message currently has only one translation slot. So using Q_() can let have proper translation.

I noticed that line 1405 in builtin/checkout.c has the same issue. The same message also appears in builtin/worktree.c at lines 812 and 951.

So I have two questions:
1. Is it OK to convert these messages to Q_(), even though English
will always show the plural?
2. Should I also include line 1405 in the patch, which will mean
changing the same message in builtin/worktree.c
as well, or should I keep the patch just limited to the first two
messages for now

Regards, Mudi

kerylefondji7@gmail.com· Oct 21, 2026, 09:04 UTC · re: Muritala Mudi · lore

Re: [Outreachy] Microproject: use Q_() in builtin/checkout.c

Hi Mudi,
Welcome to the Git community!

It's great that you are taking the time to ask these questions on the list first before preparing your patch. As a fellow newcomer working on a microproject, I found that discussing things before coding saves a lot of time!

Regarding your questions based on what I've learned so far:

About Q_(): Yes, converting to Q_() is good practice for internationalization. Even if the English text seems to focus on plural, other languages have different plural rules, so using Q_() gives translators the right structure.

About keeping the scope small: As a beginner, keeping the patch simple and limited (like starting with builtin/checkout.c) makes it much easier to review and test without getting mixed up in multiple files at once.

Also, Junio C. Hamano recently shared an update about how we should approach review discussions before sending new versions (v2, etc.) in MyFirstContribution. You might find it very useful for your workflow:

https://lore.kernel.org/git/xmqqa4o94e0r.fsf@gitster.g/
Good luck with your contribution!
Best regards,
Keryle
Tuomas Ahola· Oct 21, 2026, 11:06 UTC · re: Muritala Mudi · lore

Re: [Outreachy] Microproject: use Q_() in builtin/checkout.c

Muritala Mudi <ibnmuhyideen95@gmail.com> wrote:
Show 34 quoted lines
> Hi Usman, Christian and Siddharth,
> 
> Thank you Usman for the welcome. I took some time to look into the
> microproject I want to work
> on and one that got my interest is the Q_() pluralization
> microproject. I will like to work on builtin/checkout.c.
> I searched the list archive and I didn't see anyone working on this file yet.
> 
> I noticed two places that can get improved with Q_():
> 
> Line 1088, " ... and %d more.\n": this is at the end of the warning
> Git shows when someone leaves
> a detached HEAD and so commits might be left behind.
> Git lists up to four commits and then shows this line for the rest.
> 
> Line 1492, "only one reference expected, %d given.": this appears when
> more than one
> reference is given before --, e.g. git checkout a b --.
> In both cases the number is always 2 or more, so in English the plural
> is always shown.
> But for languages like Polish, which have different plural forms for
> 2-4 and for 5 and above,
> it will be inconsistent to use the same form for all cases.
> 
> In po/pl.po, the first message currently has only one translation slot.
> So using Q_() can let have proper translation.
> 
> I noticed that line 1405 in builtin/checkout.c has the same issue.
> The same message also appears in builtin/worktree.c at lines 812 and 951.
> 
> So I have two questions:
> 
> 1. Is it OK to convert these messages to Q_(), even though English
> will always show the plural?
Yes, that would be very helpful.
> 2. Should I also include line 1405 in the patch, which will mean
> changing the same message in builtin/worktree.c
> as well, or should I keep the patch just limited to the first two
> messages for now

You can reply to [1], giving a review on the patch. Perhaps you could even nudge the author to take care of line 1492, too, whilst you can write and submit patches for the other cases you had found.

That would be a nice exercise about how to coordinate contributions, wouldn't it?

Thanks and welcome to Git!
Links:
  1. https://lore.kernel.org/git/20261021022156.119947-1-tangajoris@gmail.com/
Tanga Joris· Oct 21, 2026, 20:32 UTC · re: Tuomas Ahola · lore

Re: [Outreachy] Microproject: use Q_() in builtin/checkout.c

On Wed, 21 Oct 2026 at 14:13, Tuomas Ahola <taahol@utu.fi> wrote:
> You can reply to [1], giving a review on the patch. Perhaps you could even
> nudge the author to take care of line 1492, too, whilst you can write and
> submit patches for the other cases you had found.

Tuomas, thank you for pointing to my patch. I'd be happy to take care of line 1492 in v2 of my patch. Mudi, as Tuomas suggested, line 1405 and the similar messages in builtin/worktree.c are yours, and reviews of my patch are welcome:)

Thanks, Tanga

Muritala Mudi· Oct 22, 2026, 03:44 UTC · re: Tanga Joris · lore

Re: [Outreachy] Microproject: use Q_() in builtin/checkout.c

On Wed, Oct 21, 2026 at 9:33 PM Tanga Joris <tangajoris@gmail.com> wrote:
> Mudi, as Tuomas suggested,
> line 1405 and the similar messages in builtin/worktree.c are yours,
> and reviews of my patch are welcome:)

Thank you Tuomas for pointing me to Tanga's patch, and thank you Tanga. I will convert the "matched multiple (%d) remote tracking branches" message at line 1405 in builtin/checkout.c, and the two copies in builtin/worktree.c.

I have also seen v2. I will reply to it and send my patch soon.

Thanks, Mudi

← back to recent threads