From: Jiang Xin <worldhello.net@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>,
"Git List" <git@vger.kernel.org>
Cc: "Jiang Xin" <zhiyou.jx@alibaba-inc.com>,
"Alexander Shopov" <ash@kambanaria.org>,
"Jordi Mas" <jmas@softcatala.org>,
"Matthias Rüster" <matthias.ruester@gmail.com>,
"Jimmy Angelakos" <vyruss@hellug.gr>,
"Christopher Díaz" <christopher.diaz.riv@gmail.com>,
"Jean-Noël Avila" <jn.avila@free.fr>,
"Bagas Sanjaya" <bagasdotme@gmail.com>,
"Alessandro Menti" <alessandro.menti@alessandromenti.it>,
"Gwan-gyeong Mun" <elongbug@gmail.com>, Arusekk <arek_koz@o2.pl>,
"Daniel Santos" <dacs.git@brilhante.top>,
"Dimitriy Ryazantcev" <DJm00n@mail.ru>,
"Peter Krefting" <peter@softwolves.pp.se>,
"Emir SARI" <bitigchi@me.com>,
"Trần Ngọc Quân" <vnwildman@gmail.com>,
"Fangyi Zhou" <me@fangyi.io>, "Yi-Jyun Pan" <pan93412@gmail.com>,
"Jiang Xin" <worldhello.net@gmail.com>
Subject: [PATCH v5 00/10] Incremental po/git.pot update and new l10n workflow
Date: Thu, 26 May 2022 22:50:25 +0800 [thread overview]
Message-ID: <20220526145035.18958-1-worldhello.net@gmail.com> (raw)
In-Reply-To: <20220523152128.26380-1-worldhello.net@gmail.com>
From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Changes since v4:
1. Patch 1/10: use sort function instead of passing option "--sort-by-file".
2. Patch 3/10: when finding source files, ignore ".build" directory.
3. New patch 5/10: remove duplicate and unwanted files in FOUND_SOURCE_FILES
4. Patch 7/10: no "--sort-by-file" option $(MSGCAT_FLAGS) for msgcat.
5. Patch 9/10: no "--sort-by-file" option $(MSGCAT_FLAGS) for msgcat,
and remove unused "core-pot" target.
Range-diff vs v4:
1: 325868b993 ! 1: 6a5409fd4f Makefile: sort "po/git.pot" by file location
@@ Metadata
Author: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## Commit message ##
- Makefile: sort "po/git.pot" by file location
+ Makefile: sort source files before feeding to xgettext
We will feed xgettext with more C source files and in different order
in subsequent commit. To generate a stable "po/git.pot" regardless of
- the number and order of input source files, we pass the option
- "--sort-by-file" to xgettext program.
+ the number and order of input source files, we sort the c, perl, and
+ shell source files in groups before feeding them to xgettext.
+
+ Ævar suggested that we should not pass the option "--sort-by-file" to
+ xgettext to sort the translatable strings, as it will mix the three
+ groups of source files (c, perl and shell) in the file "po/git.pot",
+ and change the order of translatable strings in the same line of a file.
With this update, the newly generated "po/git.pot" will have the same
entries while in a different order.
@@ Commit message
We won't checkin the newly generated "po/git.pot", because we will
remove it from tree in a later commit.
+ Suggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## Makefile ##
-@@ Makefile: XGETTEXT_FLAGS = \
- --force-po \
- --add-comments=TRANSLATORS: \
- --msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
-+ --sort-by-file \
- --from-code=UTF-8
- XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
- --keyword=_ --keyword=N_ --keyword="Q_:1,2"
+@@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
+ --keyword=gettextln --keyword=eval_gettextln
+ XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
+ --keyword=__ --keyword=N__ --keyword="__n:1,2"
+-LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
+-LOCALIZED_SH = $(SCRIPT_SH)
+-LOCALIZED_SH += git-sh-setup.sh
+-LOCALIZED_PERL = $(SCRIPT_PERL)
++LOCALIZED_C = $(sort $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H))
++LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
++LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
+
+ ifdef XGETTEXT_INCLUDE_TESTS
+ LOCALIZED_C += t/t0200/test.c
2: acf2f62e66 ! 2: 976f75ce00 Makefile: generate "po/git.pot" from stable LOCALIZED_C
@@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
--keyword=gettextln --keyword=eval_gettextln
XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
--keyword=__ --keyword=N__ --keyword="__n:1,2"
--LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
-+LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
-+ $(GENERATED_H)
- LOCALIZED_SH = $(SCRIPT_SH)
- LOCALIZED_SH += git-sh-setup.sh
- LOCALIZED_PERL = $(SCRIPT_PERL)
+-LOCALIZED_C = $(sort $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H))
++LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
++ $(GENERATED_H))
+ LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
+ LOCALIZED_PERL = $(sort $(SCRIPT_PERL))
+
3: 775c37bc69 ! 3: c881176a8f Makefile: have "make pot" not "reset --hard"
@@ Makefile: INSTALL = install
MSGFMT = msgfmt
CURL_CONFIG = curl-config
GCOV = gcov
+@@ Makefile: SOURCES_CMD = ( \
+ -o \( -name '[tp][0-9][0-9][0-9][0-9]*' -prune \) \
+ -o \( -name contrib -type d -prune \) \
+ -o \( -name build -type d -prune \) \
++ -o \( -name .build -type d -prune \) \
+ -o \( -name 'trash*' -type d -prune \) \
+ -o \( -name '*.[hcS]' -type f -print \) \
+ -o \( -name '*.sh' -type f -print \) \
@@ Makefile: XGETTEXT_FLAGS = \
--force-po \
--add-comments=TRANSLATORS: \
--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
+ --package-name=Git \
- --sort-by-file \
--from-code=UTF-8
XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
-@@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
- --keyword=gettextln --keyword=eval_gettextln
- XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
- --keyword=__ --keyword=N__ --keyword="__n:1,2"
-+MSGCAT_FLAGS = --sort-by-file
- LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
- $(GENERATED_H)
- LOCALIZED_SH = $(SCRIPT_SH)
+ --keyword=_ --keyword=N_ --keyword="Q_:1,2"
@@ Makefile: LOCALIZED_SH += t/t0200/test.sh
LOCALIZED_PERL += t/t0200/test.perl
endif
@@ Makefile: LOCALIZED_SH += t/t0200/test.sh
- git reset --hard
- mv $@+ $@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
-+ $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
++ $(QUIET_GEN)$(MSGCAT) $(filter-out FORCE,$^) >$@
.PHONY: pot
pot: po/git.pot
4: 55ee049b0a ! 4: 672c91c341 i18n CI: stop allowing non-ASCII source messages in po/git.pot
@@ Commit message
## Makefile ##
@@ Makefile: XGETTEXT_FLAGS = \
+ --force-po \
--add-comments=TRANSLATORS: \
--msgid-bugs-address="Git Mailing List <git@vger.kernel.org>" \
- --package-name=Git \
-- --sort-by-file \
+- --package-name=Git \
- --from-code=UTF-8
-+ --sort-by-file
++ --package-name=Git
XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
--keyword=_ --keyword=N_ --keyword="Q_:1,2"
XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
-: ---------- > 5: 475680c594 Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
5: 69338521aa = 6: 9023b94c65 po/git.pot: this is now a generated file
6: 6f80bd0461 ! 7: a46dca5e0d po/git.pot: don't check in result of "make pot"
@@ Makefile: endef
$(QUIET_GEN)$(gen_pot_header)
-po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO) FORCE
-- $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $(filter-out FORCE,$^) >$@
+- $(QUIET_GEN)$(MSGCAT) $(filter-out FORCE,$^) >$@
+po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
-+ $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
++ $(QUIET_GEN)$(MSGCAT) $^ >$@
.PHONY: pot
pot: po/git.pot
7: 5cd2c0741d ! 8: 2077310e57 Makefile: add "po-update" rule to update po/XX.po
@@ Makefile: TCLTK_PATH = wish
GCOV = gcov
STRIP = strip
@@ Makefile: XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
+ --keyword=gettextln --keyword=eval_gettextln
XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \
--keyword=__ --keyword=N__ --keyword="__n:1,2"
- MSGCAT_FLAGS = --sort-by-file
+MSGMERGE_FLAGS = --add-location --backup=off --update
- LOCALIZED_C = $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
- $(GENERATED_H)
- LOCALIZED_SH = $(SCRIPT_SH)
+ LOCALIZED_C = $(sort $(FOUND_C_SOURCES) $(FOUND_H_SOURCES) $(SCALAR_SOURCES) \
+ $(GENERATED_H))
+ LOCALIZED_SH = $(sort $(SCRIPT_SH) git-sh-setup.sh)
@@ Makefile: po/git.pot: .build/pot/git.header $(LOCALIZED_ALL_GEN_PO)
.PHONY: pot
pot: po/git.pot
8: 246720695a ! 9: bd810adb20 Makefile: add "po-init" rule to initialize po/XX.po
@@ Commit message
translation" that a new l10n contributor must complete before sending
pull request to the l10n coordinator.
- By pulling in some parts of the git-po-helper[^1] logic, we add rule
- "core-pot" to create this core translation message "po/git-core.pot":
+ By pulling in some parts of the git-po-helper[^1] logic, we add a new
+ rule to create this core translation message "po/git-core.pot":
- make core-pot
+ make po/git-core.pot
To help new l10n contributors to initialized their "po/XX.pot" from
"po/git-core.pot", we also add new rules "po-init":
@@ Makefile: po-update: po/git.pot
+
+LOCALIZED_C_CORE_GEN_PO = $(LOCALIZED_C_CORE:%=.build/pot/po/%.po)
+
-+.PHONY: core-pot
-+core-pot: po/git-core.pot
-+
+.build/pot/git-core.header: $(LOCALIZED_C_CORE_GEN_PO)
+ $(call mkdir_p_parent_template)
+ $(QUIET_GEN)$(gen_pot_header)
+
+po/git-core.pot: .build/pot/git-core.header $(LOCALIZED_C_CORE_GEN_PO)
-+ $(QUIET_GEN)$(MSGCAT) $(MSGCAT_FLAGS) $^ >$@
++ $(QUIET_GEN)$(MSGCAT) $^ >$@
+
+.PHONY: po-init
+po-init: po/git-core.pot
9: 131f52ac3a = 10: 38ab065c55 l10n: Document the new l10n workflow
---
Jiang Xin (5):
Makefile: sort source files before feeding to xgettext
Makefile: generate "po/git.pot" from stable LOCALIZED_C
Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
po/git.pot: this is now a generated file
Makefile: add "po-update" rule to update po/XX.po
Ævar Arnfjörð Bjarmason (5):
Makefile: have "make pot" not "reset --hard"
i18n CI: stop allowing non-ASCII source messages in po/git.pot
po/git.pot: don't check in result of "make pot"
Makefile: add "po-init" rule to initialize po/XX.po
l10n: Document the new l10n workflow
.gitignore | 1 +
Makefile | 153 +-
builtin/submodule--helper.c | 2 +-
ci/run-static-analysis.sh | 2 +
po/.gitignore | 2 +
po/README.md | 230 +-
po/git.pot | 25151 ----------------------------------
shared.mak | 2 +
8 files changed, 250 insertions(+), 25293 deletions(-)
delete mode 100644 po/git.pot
--
2.36.0.1.g15c4090757
next prev parent reply other threads:[~2022-05-26 14:51 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-03 13:23 [PATCH 0/9] Incremental po/git.pot update and new l10n workflow Jiang Xin
2022-05-03 13:23 ` [PATCH 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
2022-05-03 13:23 ` [PATCH 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-03 13:23 ` [PATCH 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-03 13:23 ` [PATCH 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-03 13:23 ` [PATCH 5/9] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-03 13:23 ` [PATCH 6/9] po/git.pot: remove this now generated file, see preceding commit Jiang Xin
2022-05-03 13:23 ` [PATCH 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-03 13:23 ` [PATCH 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-03 13:23 ` [PATCH 9/9] l10n: Document the new l10n workflow Jiang Xin
2022-05-03 14:07 ` [PATCH 0/9] Incremental po/git.pot update and " Peter Krefting
2022-05-04 12:41 ` Jiang Xin
2022-05-04 14:35 ` Junio C Hamano
2022-05-04 14:51 ` Daniel Santos
2022-05-05 0:20 ` Jiang Xin
2022-05-05 22:00 ` Daniel Santos
2022-05-05 22:49 ` Junio C Hamano
2022-05-06 0:50 ` Jiang Xin
2022-05-05 0:07 ` Jiang Xin
2022-05-04 17:58 ` Junio C Hamano
2022-05-19 8:15 ` [PATCH v2 " Jiang Xin
2022-05-19 10:28 ` Ævar Arnfjörð Bjarmason
2022-05-19 14:32 ` Jiang Xin
2022-05-19 14:41 ` Ævar Arnfjörð Bjarmason
2022-05-23 1:25 ` [PATCH v3 " Jiang Xin
2022-05-23 7:15 ` Ævar Arnfjörð Bjarmason
2022-05-23 8:12 ` Ævar Arnfjörð Bjarmason
2022-05-23 13:42 ` Jiang Xin
2022-05-23 14:38 ` Ævar Arnfjörð Bjarmason
2022-05-23 16:13 ` Jiang Xin
2022-05-23 8:26 ` Jiang Xin
2022-05-23 15:21 ` [PATCH v4 " Jiang Xin
2022-05-23 18:19 ` Junio C Hamano
2022-05-26 14:50 ` Jiang Xin [this message]
2022-05-26 14:50 ` [PATCH v5 01/10] Makefile: sort source files before feeding to xgettext Jiang Xin
2022-05-26 14:50 ` [PATCH v5 02/10] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-26 14:50 ` [PATCH v5 03/10] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-26 14:50 ` [PATCH v5 04/10] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-26 14:50 ` [PATCH v5 05/10] Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES Jiang Xin
2022-05-26 14:50 ` [PATCH v5 06/10] po/git.pot: this is now a generated file Jiang Xin
2022-05-26 17:32 ` Junio C Hamano
2022-05-26 14:50 ` [PATCH v5 07/10] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-26 14:50 ` [PATCH v5 08/10] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-26 14:50 ` [PATCH v5 09/10] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-26 14:50 ` [PATCH v5 10/10] l10n: Document the new l10n workflow Jiang Xin
2022-05-23 15:21 ` [PATCH v4 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
2022-05-23 15:21 ` [PATCH v4 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-23 15:21 ` [PATCH v4 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-25 22:19 ` Junio C Hamano
2022-05-25 22:24 ` Junio C Hamano
2022-05-26 1:10 ` Jiang Xin
2022-05-26 2:15 ` [PATCH] Makefile: dedup git-ls-files output to prevent duplicate targets Jiang Xin
2022-05-26 4:02 ` Junio C Hamano
2022-05-26 6:06 ` Jiang Xin
2022-05-26 6:23 ` Junio C Hamano
2022-05-26 7:04 ` Jiang Xin
2022-05-26 10:00 ` Ævar Arnfjörð Bjarmason
2022-05-26 11:06 ` Jiang Xin
2022-05-26 17:18 ` Junio C Hamano
2022-05-26 18:25 ` Ævar Arnfjörð Bjarmason
2022-05-26 19:00 ` Junio C Hamano
2022-05-26 19:17 ` Ævar Arnfjörð Bjarmason
2022-05-23 15:21 ` [PATCH v4 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-23 15:21 ` [PATCH v4 5/9] po/git.pot: this is now a generated file Jiang Xin
2022-05-23 15:21 ` [PATCH v4 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-23 15:21 ` [PATCH v4 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-23 15:21 ` [PATCH v4 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-23 15:21 ` [PATCH v4 9/9] l10n: Document the new l10n workflow Jiang Xin
2022-05-23 1:25 ` [PATCH v3 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
2022-05-23 8:05 ` Junio C Hamano
2022-05-23 8:50 ` Jiang Xin
2022-05-23 1:25 ` [PATCH v3 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-23 8:05 ` Junio C Hamano
2022-05-23 1:25 ` [PATCH v3 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-23 7:28 ` Ævar Arnfjörð Bjarmason
2022-05-23 15:00 ` Jiang Xin
2022-05-24 0:56 ` Jiang Xin
2022-05-23 8:15 ` Junio C Hamano
2022-05-23 9:37 ` Jiang Xin
2022-05-23 1:25 ` [PATCH v3 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-23 1:25 ` [PATCH v3 5/9] po/git.pot: this is now a generated file Jiang Xin
2022-05-23 1:25 ` [PATCH v3 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-23 7:26 ` Ævar Arnfjörð Bjarmason
2022-05-23 8:30 ` Jiang Xin
2022-05-23 8:35 ` Jiang Xin
2022-05-23 9:28 ` Ævar Arnfjörð Bjarmason
2022-05-23 1:25 ` [PATCH v3 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-23 1:25 ` [PATCH v3 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-23 1:25 ` [PATCH v3 9/9] l10n: Document the new l10n workflow Jiang Xin
2022-05-19 8:15 ` [PATCH v2 1/9] Makefile: sort "po/git.pot" by file location Jiang Xin
2022-05-19 8:53 ` Ævar Arnfjörð Bjarmason
2022-05-19 12:41 ` Jiang Xin
2022-05-19 8:15 ` [PATCH v2 2/9] Makefile: generate "po/git.pot" from stable LOCALIZED_C Jiang Xin
2022-05-19 9:18 ` Ævar Arnfjörð Bjarmason
2022-05-19 12:48 ` Jiang Xin
2022-05-19 8:15 ` [PATCH v2 3/9] Makefile: have "make pot" not "reset --hard" Jiang Xin
2022-05-19 9:43 ` Ævar Arnfjörð Bjarmason
2022-05-19 13:19 ` Jiang Xin
2022-05-19 14:06 ` Ævar Arnfjörð Bjarmason
2022-05-19 8:15 ` [PATCH v2 4/9] i18n CI: stop allowing non-ASCII source messages in po/git.pot Jiang Xin
2022-05-19 10:02 ` Ævar Arnfjörð Bjarmason
2022-05-19 8:15 ` [PATCH v2 5/9] po/git.pot: this is now a generated file Jiang Xin
2022-05-19 8:15 ` [PATCH v2 6/9] po/git.pot: don't check in result of "make pot" Jiang Xin
2022-05-19 8:15 ` [PATCH v2 7/9] Makefile: add "po-update" rule to update po/XX.po Jiang Xin
2022-05-19 10:07 ` Ævar Arnfjörð Bjarmason
2022-05-19 8:15 ` [PATCH v2 8/9] Makefile: add "po-init" rule to initialize po/XX.po Jiang Xin
2022-05-19 10:22 ` Ævar Arnfjörð Bjarmason
2022-05-19 8:15 ` [PATCH v2 9/9] l10n: Document the new l10n workflow Jiang Xin
2022-05-19 17:18 ` Junio C Hamano
2022-05-21 15:06 ` Jiang Xin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220526145035.18958-1-worldhello.net@gmail.com \
--to=worldhello.net@gmail.com \
--cc=DJm00n@mail.ru \
--cc=alessandro.menti@alessandromenti.it \
--cc=arek_koz@o2.pl \
--cc=ash@kambanaria.org \
--cc=avarab@gmail.com \
--cc=bagasdotme@gmail.com \
--cc=bitigchi@me.com \
--cc=christopher.diaz.riv@gmail.com \
--cc=dacs.git@brilhante.top \
--cc=elongbug@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jmas@softcatala.org \
--cc=jn.avila@free.fr \
--cc=matthias.ruester@gmail.com \
--cc=me@fangyi.io \
--cc=pan93412@gmail.com \
--cc=peter@softwolves.pp.se \
--cc=vnwildman@gmail.com \
--cc=vyruss@hellug.gr \
--cc=zhiyou.jx@alibaba-inc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).