* [PATCH 1/2] gitk: silence catalog output under "make -s"
2026-06-14 17:52 [PATCH 0/2] Silence po catalog output under "make -s" Harald Nordgren via GitGitGadget
@ 2026-06-14 17:52 ` Harald Nordgren via GitGitGadget
2026-06-14 17:52 ` [PATCH 2/2] git-gui: silence statistics " Harald Nordgren via GitGitGadget
` (3 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Harald Nordgren via GitGitGadget @ 2026-06-14 17:52 UTC (permalink / raw)
To: git; +Cc: Harald Nordgren, Harald Nordgren
From: Harald Nordgren <haraldnordgren@gmail.com>
The catalog rule unconditionally echoed "Generating catalog" and ran
msgfmt with --statistics, whose output went to stderr and so survived
"make -s".
Emit the "Generating catalog" line and the msgfmt statistics only when
"-s" is absent, leaving a quiet build silent while default and V=1
builds are unchanged.
Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
---
gitk-git/Makefile | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/gitk-git/Makefile b/gitk-git/Makefile
index 41116d8a14..10078c54d4 100644
--- a/gitk-git/Makefile
+++ b/gitk-git/Makefile
@@ -43,10 +43,16 @@ PO_TEMPLATE = po/gitk.pot
ALL_POFILES = $(wildcard po/*.po)
ALL_MSGFILES = $(subst .po,.msg,$(ALL_POFILES))
+MSGFMT_GEN = @:
+
+ifneq ($(findstring s,$(firstword -$(MAKEFLAGS))),s)
ifndef V
QUIET = @
QUIET_GEN = $(QUIET)echo ' ' GEN $@ &&
endif
+ MSGFMT_GEN = @echo Generating catalog $@
+ MSGFMT_STATS = --statistics
+endif
all:: gitk-wish $(ALL_MSGFILES)
@@ -75,8 +81,8 @@ 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_GEN)
+ $(MSGFMT) $(MSGFMT_STATS) --tcl -l $(basename $(notdir $<)) -d $(dir $@) $<
.PHONY: all install uninstall clean update-po
.PHONY: FORCE
--
gitgitgadget
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH 2/2] git-gui: silence statistics under "make -s"
2026-06-14 17:52 [PATCH 0/2] Silence po catalog output under "make -s" Harald Nordgren via GitGitGadget
2026-06-14 17:52 ` [PATCH 1/2] gitk: silence " Harald Nordgren via GitGitGadget
@ 2026-06-14 17:52 ` Harald Nordgren via GitGitGadget
2026-06-15 19:25 ` [PATCH 0/2] Silence po catalog output " Harald Nordgren
` (2 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Harald Nordgren via GitGitGadget @ 2026-06-14 17:52 UTC (permalink / raw)
To: git; +Cc: Harald Nordgren, Harald Nordgren
From: Harald Nordgren <haraldnordgren@gmail.com>
The catalog rule passed --statistics to msgfmt unconditionally, and its
output went to stderr, so it survived "make -s".
Pass --statistics only when "-s" is absent, leaving a quiet build silent
while default and V=1 builds are unchanged.
Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
---
git-gui/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/git-gui/Makefile b/git-gui/Makefile
index d33204e875..76245fa84b 100644
--- a/git-gui/Makefile
+++ b/git-gui/Makefile
@@ -90,6 +90,7 @@ ifndef V
REMOVE_F0 = dst=
REMOVE_F1 = && echo ' ' REMOVE `basename "$$dst"` && $(RM_RF) "$$dst"
endif
+ MSGFMT_STATS = --statistics
endif
TCLTK_PATH ?= wish
@@ -155,7 +156,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) --statistics --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
+ $(QUIET_MSGFMT0)$(MSGFMT) $(MSGFMT_STATS) --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
lib/tclIndex: $(ALL_LIBFILES) generate-tclindex.sh GIT-GUI-BUILD-OPTIONS
$(QUIET_INDEX)$(SHELL_PATH) generate-tclindex.sh . ./GIT-GUI-BUILD-OPTIONS $(ALL_LIBFILES)
--
gitgitgadget
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH 0/2] Silence po catalog output under "make -s"
2026-06-14 17:52 [PATCH 0/2] Silence po catalog output under "make -s" Harald Nordgren via GitGitGadget
2026-06-14 17:52 ` [PATCH 1/2] gitk: silence " Harald Nordgren via GitGitGadget
2026-06-14 17:52 ` [PATCH 2/2] git-gui: silence statistics " Harald Nordgren via GitGitGadget
@ 2026-06-15 19:25 ` Harald Nordgren
2026-06-20 15:46 ` Johannes Sixt
2026-06-20 22:46 ` [PATCH v2] gitk, git-gui: drop msgfmt --statistics output Harald Nordgren via GitGitGadget
4 siblings, 0 replies; 12+ messages in thread
From: Harald Nordgren @ 2026-06-15 19:25 UTC (permalink / raw)
To: Harald Nordgren via GitGitGadget; +Cc: git
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
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH 0/2] Silence po catalog output under "make -s"
2026-06-14 17:52 [PATCH 0/2] Silence po catalog output under "make -s" Harald Nordgren via GitGitGadget
` (2 preceding siblings ...)
2026-06-15 19:25 ` [PATCH 0/2] Silence po catalog output " Harald Nordgren
@ 2026-06-20 15:46 ` Johannes Sixt
2026-06-20 22:46 ` [PATCH v2] gitk, git-gui: drop msgfmt --statistics output Harald Nordgren via GitGitGadget
4 siblings, 0 replies; 12+ messages in thread
From: Johannes Sixt @ 2026-06-20 15:46 UTC (permalink / raw)
To: Harald Nordgren; +Cc: git, Harald Nordgren via GitGitGadget
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
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v2] gitk, git-gui: drop msgfmt --statistics output
2026-06-14 17:52 [PATCH 0/2] Silence po catalog output under "make -s" Harald Nordgren via GitGitGadget
` (3 preceding siblings ...)
2026-06-20 15:46 ` Johannes Sixt
@ 2026-06-20 22:46 ` Harald Nordgren via GitGitGadget
2026-06-21 10:33 ` [PATCH 2/1] git-gui: reduce complexity of the quiet msgfmt rule Johannes Sixt
2026-06-21 13:00 ` [PATCH v2] gitk, git-gui: drop msgfmt --statistics output Johannes Sixt
4 siblings, 2 replies; 12+ messages in thread
From: Harald Nordgren via GitGitGadget @ 2026-06-20 22:46 UTC (permalink / raw)
To: git; +Cc: Harald Nordgren, Harald Nordgren
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.
Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
---
Silence po catalog output under "make -s"
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.
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
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2339%2FHaraldNordgren%2Fsilence-catalog-output-under-make-s-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2339/HaraldNordgren/silence-catalog-output-under-make-s-v2
Pull-Request: https://github.com/git/git/pull/2339
Range-diff vs v1:
1: 18451d46e4 < -: ---------- gitk: silence catalog output under "make -s"
2: 5071c5106a ! 1: ee57c25009 git-gui: silence statistics under "make -s"
@@ Metadata
Author: Harald Nordgren <haraldnordgren@gmail.com>
## Commit message ##
- git-gui: silence statistics under "make -s"
+ gitk, git-gui: drop msgfmt --statistics output
- The catalog rule passed --statistics to msgfmt unconditionally, and its
- output went to stderr, so it survived "make -s".
+ The catalog rules ran msgfmt with --statistics, whose output went to
+ stderr and so survived "make -s" (gitk also echoed "Generating
+ catalog").
- Pass --statistics only when "-s" is absent, leaving a quiet build silent
- while default and V=1 builds are unchanged.
+ 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.
Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
## git-gui/Makefile ##
-@@ git-gui/Makefile: ifndef V
- REMOVE_F0 = dst=
- REMOVE_F1 = && echo ' ' REMOVE `basename "$$dst"` && $(RM_RF) "$$dst"
- endif
-+ MSGFMT_STATS = --statistics
- endif
-
- TCLTK_PATH ?= wish
@@ git-gui/Makefile: $(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) --statistics --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
-+ $(QUIET_MSGFMT0)$(MSGFMT) $(MSGFMT_STATS) --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
++ $(QUIET_MSGFMT0)$(MSGFMT) --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
lib/tclIndex: $(ALL_LIBFILES) generate-tclindex.sh GIT-GUI-BUILD-OPTIONS
$(QUIET_INDEX)$(SHELL_PATH) generate-tclindex.sh . ./GIT-GUI-BUILD-OPTIONS $(ALL_LIBFILES)
+
+ ## gitk-git/Makefile ##
+@@ gitk-git/Makefile: 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
git-gui/Makefile | 2 +-
gitk-git/Makefile | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/git-gui/Makefile b/git-gui/Makefile
index d33204e875..48d848a59d 100644
--- a/git-gui/Makefile
+++ b/git-gui/Makefile
@@ -155,7 +155,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) --statistics --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
+ $(QUIET_MSGFMT0)$(MSGFMT) --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
lib/tclIndex: $(ALL_LIBFILES) generate-tclindex.sh GIT-GUI-BUILD-OPTIONS
$(QUIET_INDEX)$(SHELL_PATH) generate-tclindex.sh . ./GIT-GUI-BUILD-OPTIONS $(ALL_LIBFILES)
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
base-commit: 8d96f09e9245ddf80c1981476fcbac8c4bb4125f
--
gitgitgadget
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH 2/1] git-gui: reduce complexity of the quiet msgfmt rule
2026-06-20 22:46 ` [PATCH v2] gitk, git-gui: drop msgfmt --statistics output Harald Nordgren via GitGitGadget
@ 2026-06-21 10:33 ` Johannes Sixt
2026-06-21 13:00 ` [PATCH v2] gitk, git-gui: drop msgfmt --statistics output Johannes Sixt
1 sibling, 0 replies; 12+ messages in thread
From: Johannes Sixt @ 2026-06-21 10:33 UTC (permalink / raw)
To: Harald Nordgren; +Cc: git, Harald Nordgren via GitGitGadget
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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2] gitk, git-gui: drop msgfmt --statistics output
2026-06-20 22:46 ` [PATCH v2] gitk, git-gui: drop msgfmt --statistics output Harald Nordgren via GitGitGadget
2026-06-21 10:33 ` [PATCH 2/1] git-gui: reduce complexity of the quiet msgfmt rule Johannes Sixt
@ 2026-06-21 13:00 ` Johannes Sixt
2026-06-21 13:15 ` Harald Nordgren
1 sibling, 1 reply; 12+ messages in thread
From: Johannes Sixt @ 2026-06-21 13:00 UTC (permalink / raw)
To: Harald Nordgren; +Cc: git, Harald Nordgren via GitGitGadget
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
^ permalink raw reply [flat|nested] 12+ messages in thread