Skip to content

Silence po catalog output under "make -s"#2339

Open
HaraldNordgren wants to merge 2 commits into
git:masterfrom
HaraldNordgren:silence-catalog-output-under-make-s
Open

Silence po catalog output under "make -s"#2339
HaraldNordgren wants to merge 2 commits into
git:masterfrom
HaraldNordgren:silence-catalog-output-under-make-s

Conversation

@HaraldNordgren

@HaraldNordgren HaraldNordgren commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

The gitk and git-gui are noisy despite "make -s", quiet the builds.

Changes in v3:

  • Split the single combined commit into two, one per Makefile (gitk, git-gui)
  • gitk: gate the quiet helpers on -s in MAKEFLAGS and give the catalog rule a QUIET_MSGFMT prefix, so a silent build emits no MSGFMT/GEN lines
  • git-gui: replace the QUIET_MSGFMT0/QUIET_MSGFMT1 pair with a single QUIET_MSGFMT, since with --statistics gone there is no output left to reformat

Changes in v2:

  • Reworked from conditionally silencing msgfmt output under make -s to just removing --statistics outright, following 2f12b31b74 (Makefile: don't invoke msgfmt with --statistics, 2021-12-17)
  • Also drop gitk's Generating catalog echo, which is not needed either

cc: Johannes Sixt j6t@kdbg.org

@HaraldNordgren

Copy link
Copy Markdown
Contributor Author

/submit

@gitgitgadget-git

Copy link
Copy Markdown

Submitted as pull.2339.git.git.1781459539.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v1

To fetch this version to local tag pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v1:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v1

@gitgitgadget-git

Copy link
Copy Markdown

Harald Nordgren wrote on the Git mailing list (how to reply to this email):

It's this output that currently is not silent:

$ make -s
...
579 translated messages.
558 translated messages.
514 translated messages.
381 translated messages, 4 fuzzy translations, 6 untranslated messages.
520 translated messages.
519 translated messages, 1 untranslated message.
546 translated messages, 1 untranslated message.
474 translated messages, 39 untranslated messages.
520 translated messages.
550 translated messages.
579 translated messages.
576 translated messages.
366 translated messages, 7 fuzzy translations, 17 untranslated messages.
543 translated messages.
Generating catalog po/bg.msg
322 translated messages.
Generating catalog po/ca.msg
307 translated messages.
Generating catalog po/de.msg
307 translated messages.
Generating catalog po/es.msg
184 translated messages, 46 fuzzy translations, 77 untranslated messages.
Generating catalog po/fr.msg
311 translated messages.
Generating catalog po/hu.msg
277 translated messages, 18 fuzzy translations, 12 untranslated messages.
Generating catalog po/it.msg
274 translated messages, 17 fuzzy translations, 16 untranslated messages.
Generating catalog po/ja.msg
311 translated messages.
Generating catalog po/pt_br.msg
279 translated messages, 16 fuzzy translations, 12 untranslated messages.
Generating catalog po/pt_pt.msg
311 translated messages.
Generating catalog po/ru.msg
317 translated messages.
Generating catalog po/sv.msg
323 translated messages.
Generating catalog po/ta.msg
Generating catalog po/vi.msg
327 translated messages.
Generating catalog po/zh_cn.msg
307 translated messages.
    GEN gitk-wish
317 translated messages.




On Sun, Jun 14, 2026 at 7:52 PM Harald Nordgren via GitGitGadget
<gitgitgadget@gmail.com> wrote:
>
> The gitk and git-gui catalog rules sent msgfmt --statistics output (and a
> "Generating catalog" line) to stderr, so it survived "make -s". Emit it only
> when "-s" is absent, keeping a quiet build silent and a verbose build
> unchanged.
>
> Harald Nordgren (2):
>   gitk: silence catalog output under "make -s"
>   git-gui: silence statistics under "make -s"
>
>  git-gui/Makefile  |  3 ++-
>  gitk-git/Makefile | 10 ++++++++--
>  2 files changed, 10 insertions(+), 3 deletions(-)
>
>
> base-commit: ea97ad8d017de0c9037451a78008a0fd60abea0c
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2339%2FHaraldNordgren%2Fsilence-catalog-output-under-make-s-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v1
> Pull-Request: https://github.com/git/git/pull/2339
> --
> gitgitgadget

@HaraldNordgren HaraldNordgren force-pushed the silence-catalog-output-under-make-s branch 2 times, most recently from 8b48b1b to ee57c25 Compare June 20, 2026 22:32
@HaraldNordgren

Copy link
Copy Markdown
Contributor Author

/submit

@gitgitgadget-git

Copy link
Copy Markdown

Submitted as pull.2339.v2.git.git.1781995570677.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v2

To fetch this version to local tag pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v2:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v2

@HaraldNordgren HaraldNordgren force-pushed the silence-catalog-output-under-make-s branch 5 times, most recently from d2889fd to b613d4a Compare June 21, 2026 14:49
@HaraldNordgren

Copy link
Copy Markdown
Contributor Author

/submit

@gitgitgadget-git

Copy link
Copy Markdown

Submitted as pull.2339.v3.git.git.1782053803.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v3

To fetch this version to local tag pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v3:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v3

@gitgitgadget-git

Copy link
Copy Markdown

Johannes Sixt wrote on the Git mailing list (how to reply to this email):

Am 14.06.26 um 19:52 schrieb Harald Nordgren via GitGitGadget:
> The gitk and git-gui catalog rules sent msgfmt --statistics output (and a
> "Generating catalog" line) to stderr, so it survived "make -s". Emit it only
> when "-s" is absent, keeping a quiet build silent and a verbose build
> unchanged.
I think that the statistics output isn't needed. A data point is that
the Git repository doesn't use --statistics: 2f12b31b746c ("Makefile:
don't invoke msgfmt with --statistics", 2021-12-17). So, my suggestion
would be to just remove the option.

We don't need the "Generating catalog" message, either. Just remove it
as well.

-- Hannes

@gitgitgadget-git

Copy link
Copy Markdown

User Johannes Sixt <j6t@kdbg.org> has been added to the cc: list.

@gitgitgadget-git

Copy link
Copy Markdown

Johannes Sixt wrote on the Git mailing list (how to reply to this email):

In non-verbose builds (without V=1) the rule to compile *.po files with
msgfmt captures the output in a shell variable and then strips down the
text produced by --statistics to fit on a 80 column line. The previous
commit removed --statistics output of the msgfmt invocation, so that we
don't get to see anything beyond "MSGFMT po/xx.msg" anymore. Make the
rule as minimal as the other "quiet" rules.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
Am 21.06.26 um 00:46 schrieb Harald Nordgren via GitGitGadget:
> The catalog rules ran msgfmt with --statistics, whose output went to
> stderr and so survived "make -s" (gitk also echoed "Generating
> catalog").
> 
> The statistics are not needed, as in 2f12b31b746c (Makefile: don't
> invoke msgfmt with --statistics, 2021-12-17), and the "Generating
> catalog" line is not needed either. Remove them so a quiet build stays
> quiet.

I split off the git-gui part, adjusted the commit message, and then
applied the patch below to simplify the Makefile further.

 Makefile | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 48d848a59dfb..2e1711adc5a5 100644
--- a/Makefile
+++ b/Makefile
@@ -69,8 +69,7 @@ ifndef V
 	QUIET          = @
 	QUIET_GEN      = $(QUIET)echo '   ' GEN '$@' &&
 	QUIET_INDEX    = $(QUIET)echo '   ' INDEX $(dir $@) &&
-	QUIET_MSGFMT0  = $(QUIET)printf '    MSGFMT %12s ' $@ && v=`
-	QUIET_MSGFMT1  = 2>&1` && echo "$$v" | sed -e 's/fuzzy translations/fuzzy/' | sed -e 's/ messages*//g'
+	QUIET_MSGFMT   = $(QUIET)echo '   ' MSGFMT '$@' &&
 
 	INSTALL_D0 = dir=
 	INSTALL_D1 = && echo ' ' DEST $$dir && $(INSTALL) -d -m 755 "$$dir"
@@ -155,7 +154,7 @@ $(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES)
 update-po:: $(PO_TEMPLATE)
 	$(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; )
 $(ALL_MSGFILES): %.msg : %.po
-	$(QUIET_MSGFMT0)$(MSGFMT) --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
+	$(QUIET_MSGFMT)$(MSGFMT) --tcl -l $(basename $(notdir $<)) -d $(dir $@) $<
 
 lib/tclIndex: $(ALL_LIBFILES) generate-tclindex.sh GIT-GUI-BUILD-OPTIONS
 	$(QUIET_INDEX)$(SHELL_PATH) generate-tclindex.sh . ./GIT-GUI-BUILD-OPTIONS $(ALL_LIBFILES)
-- 
2.55.0.rc0.230.g889306758c

@gitgitgadget-git

Copy link
Copy Markdown

Johannes Sixt wrote on the Git mailing list (how to reply to this email):

Am 21.06.26 um 00:46 schrieb Harald Nordgren via GitGitGadget:
> From: Harald Nordgren <haraldnordgren@gmail.com>
> 
> The catalog rules ran msgfmt with --statistics, whose output went to
> stderr and so survived "make -s" (gitk also echoed "Generating
> catalog").
> 
> The statistics are not needed, as in 2f12b31b746c (Makefile: don't
> invoke msgfmt with --statistics, 2021-12-17), and the "Generating
> catalog" line is not needed either. Remove them so a quiet build stays
> quiet.
> diff --git a/gitk-git/Makefile b/gitk-git/Makefile
> index 41116d8a14..0ae083c1ca 100644
> --- a/gitk-git/Makefile
> +++ b/gitk-git/Makefile
> @@ -75,8 +75,7 @@ update-po:: $(PO_TEMPLATE)
>  	echo; \
>  	echo "	git config filter.gettext-no-location.clean \"msgcat --no-location -\""
>  $(ALL_MSGFILES): %.msg : %.po
> -	@echo Generating catalog $@
> -	$(MSGFMT) --statistics --tcl -l $(basename $(notdir $<)) -d $(dir $@) $<
> +	$(MSGFMT) --tcl -l $(basename $(notdir $<)) -d $(dir $@) $<
>  
>  .PHONY: all install uninstall clean update-po
>  .PHONY: FORCE
This Gitk part doesn't make the build silent, yet. It misses the "if -s
is in the flags" bracket.

It do not mind doing both (removing --statistics and make it silent) in
a single patch.

BTW, please write commit message in the usual style, in particular,
describe the status quo in present tense, not past tense.

Please bear in mind that Git, Gitk and Git GUI are tracked in different
repositories. Do not put changes to multiple of these into a single
commit/patch.

-- Hannes

@gitgitgadget-git

Copy link
Copy Markdown

Harald Nordgren wrote on the Git mailing list (how to reply to this email):

Hi Johannes!

Thanks for the feedback here. What do you want me to do now, should I
update my code or you are taking over the whole thing from me?


Harald

@gitgitgadget-git

Copy link
Copy Markdown

Johannes Sixt wrote on the Git mailing list (how to reply to this email):

Am 21.06.26 um 15:15 schrieb Harald Nordgren:
> Thanks for the feedback here. What do you want me to do now, should I
> update my code or you are taking over the whole thing from me?
The git-gui part is good. The Gitk part needs more work. Please submit a
new patch for Gitk under the topic "make `make -s` silent". That this
has to remove --statistics from msgfmt invocations is just a part of
this topic.

-- Hannes

@gitgitgadget-git

Copy link
Copy Markdown

Harald Nordgren wrote on the Git mailing list (how to reply to this email):

Same series or a new series alongside this one?


Harald

@gitgitgadget-git

Copy link
Copy Markdown

Johannes Sixt wrote on the Git mailing list (how to reply to this email):

Am 21.06.26 um 15:32 schrieb Harald Nordgren:
> Same series or a new series alongside this one?
Don't start a new thread. Since you are using Gitgitgadget, I think this
means that it should be the "same series", whatever the means for you.

-- Hannes

@gitgitgadget-git

Copy link
Copy Markdown

Johannes Sixt wrote on the Git mailing list (how to reply to this email):

Am 21.06.26 um 16:56 schrieb Harald Nordgren via GitGitGadget:
>  * gitk: gate the quiet helpers on -s in MAKEFLAGS and give the catalog rule
>    a QUIET_MSGFMT prefix, so a silent build emits no MSGFMT/GEN lines

I've picked up this one.

>  * git-gui: replace the QUIET_MSGFMT0/QUIET_MSGFMT1 pair with a single
>    QUIET_MSGFMT, since with --statistics gone there is no output left to
>    reformat

But this one, I skipped, because I already have all of it in
https://github.com/j6t/git-gui/commits/hn/silence-make-s/

Thanks!
-- Hannes

@gitgitgadget-git

Copy link
Copy Markdown

Harald Nordgren wrote on the Git mailing list (how to reply to this email):

Hi Johannes!

Thanks for the help. What should I expect here, will it be merged to master now?


Harald

On Tue, Jun 23, 2026 at 6:23 PM Johannes Sixt <j6t@kdbg.org> wrote:
>
> Am 21.06.26 um 16:56 schrieb Harald Nordgren via GitGitGadget:
> >  * gitk: gate the quiet helpers on -s in MAKEFLAGS and give the catalog rule
> >    a QUIET_MSGFMT prefix, so a silent build emits no MSGFMT/GEN lines
>
> I've picked up this one.
>
> >  * git-gui: replace the QUIET_MSGFMT0/QUIET_MSGFMT1 pair with a single
> >    QUIET_MSGFMT, since with --statistics gone there is no output left to
> >    reformat
>
> But this one, I skipped, because I already have all of it in
> https://github.com/j6t/git-gui/commits/hn/silence-make-s/
>
> Thanks!
> -- Hannes
>

@gitgitgadget-git

Copy link
Copy Markdown

Johannes Sixt wrote on the Git mailing list (how to reply to this email):

Am 26.06.26 um 21:27 schrieb Harald Nordgren:
> What should I expect here, will it be merged to master now?

These patches are cooking in my respective j6t-testing branches in my
repositories[1][2]. I'll ask for inclusion in the Git repository in the
coming weeks (but certainly not for v2.55).

-- Hannes

[1] https://github.com/j6t/git-gui/commits/j6t-testing/
[2] https://github.com/j6t/gitk/commits/j6t-testing/

@gitgitgadget-git

Copy link
Copy Markdown

Junio C Hamano wrote on the Git mailing list (how to reply to this email):

Johannes Sixt <j6t@kdbg.org> writes:

> Am 26.06.26 um 21:27 schrieb Harald Nordgren:
>> What should I expect here, will it be merged to master now?
>
> These patches are cooking in my respective j6t-testing branches in my
> repositories[1][2]. I'll ask for inclusion in the Git repository in the
> coming weeks (but certainly not for v2.55).
>
> -- Hannes
>
> [1] https://github.com/j6t/git-gui/commits/j6t-testing/
> [2] https://github.com/j6t/gitk/commits/j6t-testing/

Thanks.

The catalog rule runs msgfmt with --statistics, whose output goes to
stderr and so survives "make -s", and the rule also echoes "Generating
catalog". The Gitk Makefile guards its quiet helpers on V alone, so a
silent build still prints these and the GEN line.

The statistics are not needed, as in 2f12b31 (Makefile: don't
invoke msgfmt with --statistics, 2021-12-17). Drop them, suppress the
quiet helpers when "s" is among the make flags, and give the catalog
rule a quiet prefix so a quiet build stays quiet.

Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
The catalog rule runs msgfmt with --statistics, whose output goes to
stderr and so survives "make -s". In non-verbose builds the rule also
captures the output in a shell variable to strip it to an 80 column
line.

The statistics are not needed, as in 2f12b31 (Makefile: don't
invoke msgfmt with --statistics, 2021-12-17). Remove them, and with
nothing left to format make the rule as minimal as the other quiet
rules, so a quiet build stays quiet.

Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
@HaraldNordgren HaraldNordgren force-pushed the silence-catalog-output-under-make-s branch from b613d4a to dc33662 Compare July 12, 2026 18:28
@gitgitgadget-git

Copy link
Copy Markdown

Harald Nordgren wrote on the Git mailing list (how to reply to this email):

Hi!

What is the status here?


Harald

@gitgitgadget-git

Copy link
Copy Markdown

Junio C Hamano wrote on the Git mailing list (how to reply to this email):

Harald Nordgren <haraldnordgren@gmail.com> writes:

> Hi!
>
> What is the status here?
>
> Harald

If I understand correctly, J6t told me to expect a pull request in
https://lore.kernel.org/git/40b7eee4-6b45-449f-a3a0-0ae415097041@kdbg.org/
but it will happen after v2.55 is tagged.

And in response I said "Thanks."

I think that is where we stand right now.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant