git/ci
Ævar Arnfjörð Bjarmason 6dd9a91c32 i18n CI: stop allowing non-ASCII source messages in po/git.pot
In the preceding commit we moved away from using xgettext(1) to both
generate the po/git.pot, and to merge the incrementally generated
po/git.pot+ file as we sourced translations from C, shell and Perl.

Doing it this way, which dates back to my initial
implementation[1][2][3] was conflating two things: With xgettext(1)
the --from-code both controls what encoding is specified in the
po/git.pot's header, and what encoding we allow in source messages.

We don't ever want to allow non-ASCII in *source messages*, and doing
so has hid e.g. a buggy message introduced in
a6226fd772 (submodule--helper: convert the bulk of cmd_add() to C,
2021-08-10) from us, we'd warn about it before, but only when running
"make pot", but the operation would still succeed. Now we'll error out
on it when running "make pot".

Since the preceding Makefile changes made this easy: let's add a "make
check-pot" target with the same prerequisites as the "po/git.pot"
target, but without changing the file "po/git.pot". Running it as part
of the "static-analysis" CI target will ensure that we catch any such
issues in the future. E.g.:

    $ make check-pot
        XGETTEXT .build/pot/po/builtin/submodule--helper.c.po
    xgettext: Non-ASCII string at builtin/submodule--helper.c:3381.
              Please specify the source encoding through --from-code.
    make: *** [.build/pot/po/builtin/submodule--helper.c.po] Error 1

1. cd5513a716 (i18n: Makefile: "pot" target to extract messages
   marked for translation, 2011-02-22)
2. adc3b2b276 (Makefile: add xgettext target for *.sh files,
   2011-05-14)
3. 5e9637c629 (i18n: add infrastructure for translating Git with
   gettext, 2011-11-18)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2022-05-26 10:30:28 -07:00
..
config ci/config: correct instruction for CI preferences 2020-05-18 10:18:34 -07:00
util travis-ci: include the trash directories of failed tests in the trace log 2018-08-01 09:59:36 -07:00
check-directional-formatting.bash ci: disallow directional formatting 2021-11-04 10:13:10 -07:00
install-dependencies.sh CI: use "$runs_on_pool", not "$jobname" to select packages & config 2021-11-23 16:51:53 -08:00
install-docker-dependencies.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
lib.sh compat: auto-detect if zlib has uncompress2() 2022-01-26 09:05:55 -08:00
make-test-artifacts.sh ci: parallelize testing on Windows 2019-01-29 09:26:47 -08:00
mount-fileshare.sh Add a build definition for Azure DevOps 2019-01-29 09:26:46 -08:00
print-test-failures.sh CI: remove Travis CI support 2021-11-23 16:51:53 -08:00
run-build-and-tests.sh CI: don't run "make test" twice in one job 2021-11-23 16:51:54 -08:00
run-docker-build.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
run-docker.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
run-static-analysis.sh i18n CI: stop allowing non-ASCII source messages in po/git.pot 2022-05-26 10:30:28 -07:00
run-test-slice.sh ci: parallelize testing on Windows 2019-01-29 09:26:47 -08:00
test-documentation.sh ci: ignore rubygems warning in the "Documentation" job 2020-02-10 09:52:27 -08:00