git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "Jiang Xin" <worldhello.net@gmail.com>,
	"Git List" <git@vger.kernel.org>,
	"Jean-Noël Avila" <jn.avila@free.fr>
Subject: Re: [PATCH] PRItime: wrap PRItime for better l10n compatibility
Date: Thu, 20 Jul 2017 11:19:29 -0700	[thread overview]
Message-ID: <xmqqo9sfkm32.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <xmqq8tjkm3ly.fsf@gitster.mtv.corp.google.com> (Junio C. Hamano's message of "Wed, 19 Jul 2017 16:03:21 -0700")

Junio C Hamano <gitster@pobox.com> writes:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
>> But there may be hope. Since the character sequence "PRItime" is highly
>> unlikely to occur in Git's source code in any context other than the
>> format to print/parse timestamp_t, it should be possible to automate a the
>> string replacement
>>
>> 	git ls-files -z \*.[ch] |
>> 	xargs -0r sed -i 's/PRItime/PRIuMAX/g'
>>
>> (assuming, of course, that you use GNU sed, not BSD sed, for which the
>> `-i` needs to read `-i ''` instead) as part of the update?
>
> I somehow missed this bit.
>
> Given that this needs to be done only once every release by only one
> person (i.e. the l10n coordinator who updates *.pot file), as long
> as the procedure is automated as much as possible to ease the pain
> for the l10n coordinator and clearly described in the "Maintaining
> the po/git.pot file" section of po/README, something along that line
> does sound like a very tempting approach.  If it works well, it is
> certainly much easier for normal developers than the other possible
> alternatives I mentioned in my previous response.

So, I was offline for most of the day yesterday and with this issue
blocking the release candidate, didn't manage to tag -rc1.

The use of "make pot" from the top-level is already described in
po/README, so the only thing that we need is something like this
change.  I'll follow up this message with a sample output from the
updated process to ask others to sanity check the result (they are
tiny) in a separate message.

Thanks.


 Makefile | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/Makefile b/Makefile
index ba4359ef8d..7069a12f75 100644
--- a/Makefile
+++ b/Makefile
@@ -2216,12 +2216,22 @@ LOCALIZED_SH += t/t0200/test.sh
 LOCALIZED_PERL += t/t0200/test.perl
 endif
 
+## Note that this is only meant to run 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.
 po/git.pot: $(GENERATED_H) FORCE
+	@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)
+	@git reset --hard
 	mv $@+ $@
 
 .PHONY: pot

  reply	other threads:[~2017-07-20 18:19 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-15  5:06 [L10N] Kickoff of translation for Git 2.14.0 round 1 Jiang Xin
2017-07-15 19:30 ` Jean-Noël Avila
2017-07-17  0:56   ` Jiang Xin
2017-07-17 16:06     ` Johannes Schindelin
2017-07-18  1:28       ` Jiang Xin
2017-07-17 15:23   ` [PATCH] PRItime: wrap PRItime for better l10n compatibility Jiang Xin
2017-07-17 17:10     ` Junio C Hamano
2017-07-18  1:33       ` Jiang Xin
2017-07-18 17:35         ` Junio C Hamano
2017-07-19  0:57           ` Jiang Xin
2017-07-19 13:25             ` Johannes Schindelin
2017-07-19 21:32               ` Junio C Hamano
2017-07-19 23:03               ` Junio C Hamano
2017-07-20 18:19                 ` Junio C Hamano [this message]
2017-07-20 18:24                   ` Junio C Hamano
2017-07-20 18:57                   ` Junio C Hamano
2017-07-21 14:38                     ` Jean-Noël Avila
2017-07-21 14:54                       ` Junio C Hamano
2017-07-22 11:21                         ` Johannes Schindelin
2017-07-22 15:53                           ` Junio C Hamano
2017-07-25 10:20                             ` Johannes Schindelin
2017-07-25 20:46                               ` Junio C Hamano
2017-07-21 22:17                   ` Jiang Xin
2017-07-21 22:40                     ` Junio C Hamano
2017-07-21 23:13                       ` Jiang Xin
2017-07-21 23:34                         ` Junio C Hamano
2017-07-22  0:43                           ` Jiang Xin
2017-07-22  0:52                             ` [PATCH] Makefile: generate pot file using a tweaked version of xgettext Jiang Xin
2017-07-22  2:44                             ` [PATCH] PRItime: wrap PRItime for better l10n compatibility Junio C Hamano
2017-07-22 11:28                             ` Johannes Schindelin
2017-07-22 15:48                               ` Junio C Hamano
2017-07-24  1:50                                 ` Jiang Xin
2017-07-25 10:22                                 ` Johannes Schindelin
2017-07-25 20:49                                   ` Junio C Hamano
2017-07-24  1:38                               ` Jiang Xin
2017-07-24 19:09                                 ` Junio C Hamano
2017-07-25 10:25                                 ` Johannes Schindelin
2017-07-23  2:33                             ` Jean-Noël AVILA
2017-07-23 21:54                               ` Junio C Hamano
2017-07-24  2:02                               ` Jiang Xin
2017-07-24 19:10                                 ` Junio C Hamano
2017-07-22 17:02   ` [L10N] Kickoff of translation for Git 2.14.0 round 1 Kaartic Sivaraam
2017-07-23  2:43     ` Jean-Noël Avila
2017-07-19  5:44 ` Jordi Mas
2017-07-20  0:50   ` 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=xmqqo9sfkm32.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=jn.avila@free.fr \
    --cc=worldhello.net@gmail.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).