Merge branch 'jc/po-pritime-fix'

We started using "%" PRItime, imitating "%" PRIuMAX and friends, as
a way to format the internal timestamp value, but this does not
play well with gettext(1) i18n framework, and causes "make pot"
that is run by the l10n coordinator to create a broken po/git.pot
file.  This is a possible workaround for that problem.

* jc/po-pritime-fix:
  Makefile: help gettext tools to cope with our custom PRItime format
This commit is contained in:
Junio C Hamano 2017-07-21 14:57:36 -07:00
commit a491307448

View File

@ -2221,12 +2221,33 @@ LOCALIZED_SH += t/t0200/test.sh
LOCALIZED_PERL += t/t0200/test.perl
endif
## Note that this is meant to be run only by the localization coordinator
## under a very controlled condition, i.e. (1) it is to be run in a
## Git repository (not a tarball extract), (2) any local modifications
## will be lost.
## Gettext tools cannot work with our own custom PRItime type, so
## we replace PRItime with PRIuMAX. We need to update this to
## PRIdMAX if we switch to a signed type later.
po/git.pot: $(GENERATED_H) FORCE
# All modifications will be reverted at the end, so we do not
# want to have any local change.
git diff --quiet HEAD && git diff --quiet --cached
@for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \
do \
sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \
cat "$$s+" >"$$s" && rm "$$s+"; \
done
$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C)
$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \
$(LOCALIZED_SH)
$(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \
$(LOCALIZED_PERL)
# Reverting the munged source, leaving only the updated $@
git reset --hard
mv $@+ $@
.PHONY: pot