Silence po catalog output under "make -s"#2339
Conversation
e365bf4 to
5071c51
Compare
|
/submit |
|
Submitted as pull.2339.git.git.1781459539.gitgitgadget@gmail.com To fetch this version into To fetch this version to local tag |
|
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 |
8b48b1b to
ee57c25
Compare
|
/submit |
|
Submitted as pull.2339.v2.git.git.1781995570677.gitgitgadget@gmail.com To fetch this version into To fetch this version to local tag |
d2889fd to
b613d4a
Compare
|
/submit |
|
Submitted as pull.2339.v3.git.git.1782053803.gitgitgadget@gmail.com To fetch this version into To fetch this version to local tag |
|
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
|
|
User |
|
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
|
|
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
|
|
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 |
|
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
|
|
Harald Nordgren wrote on the Git mailing list (how to reply to this email): Same series or a new series alongside this one?
Harald |
|
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
|
|
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
|
|
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
> |
|
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/
|
|
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>
b613d4a to
dc33662
Compare
|
Harald Nordgren wrote on the Git mailing list (how to reply to this email): Hi!
What is the status here?
Harald |
|
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.
|
The gitk and git-gui are noisy despite "make -s", quiet the builds.
Changes in v3:
-sin MAKEFLAGS and give the catalog rule aQUIET_MSGFMTprefix, so a silent build emits no MSGFMT/GEN linesQUIET_MSGFMT0/QUIET_MSGFMT1pair with a singleQUIET_MSGFMT, since with--statisticsgone there is no output left to reformatChanges in v2:
msgfmtoutput undermake -sto just removing--statisticsoutright, following2f12b31b74(Makefile: don't invoke msgfmt with --statistics, 2021-12-17)Generating catalogecho, which is not needed eithercc: Johannes Sixt j6t@kdbg.org