git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
	git@vger.kernel.org, Erik Faye-Lund <kusmabite@gmail.com>
Subject: Re: Stable ab/i18n branch
Date: Sun, 17 Oct 2010 12:33:56 +0000	[thread overview]
Message-ID: <AANLkTikc80ev+ex6-9RDgO_h-4LEuZf6M9hPAfVQ9oSX@mail.gmail.com> (raw)
In-Reply-To: <7vwrph4eeb.fsf@alter.siamese.dyndns.org>

On Sun, Oct 17, 2010 at 04:44, Junio C Hamano <gitster@pobox.com> wrote:
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
>> Ævar Arnfjörð Bjarmason wrote:
>>
>>> Could you please pick up the 160 commit version of this at:
>>>
>>>     git://github.com/avar/git.git ab/i18n
>>
>> This is a "give an inch and they'll ask for a mile" sort of thing, but
>> would it be possible to maintain a stable branch with the i18n
>> infrastructure that only gets rebased when there is reorganization
>> going on?
>
> People might have noticed that I've refrained to take other topics that
> may add new messages to 'next'.  I would wanted to merge ab/i18n early in
> the cycle soon after dust has settled after 1.7.3 release.  And I still
> do.

Good to hear. I didn't know that before, and that's really all I
wanted to know.

> Having said that, there are different classes of risks associated with
> i18n effort.
>
> (1) Regressions that even hit a NO_I18N build.
> (2) Regressions that hit LC_ALL=C execution in a !NO_I18N build.
> (3) Regressions that hit plumbing run in a non-C locale.
>
>  . i18n needs not just marking strings with _("string") but also needs to
>   fix code that manually formulates messages by series of strcat().  It
>   may need to start using allocations on the heap, with potential risk of
>   usual bugs (leaks, use-after-free, etc.) and performance degradation.
>
>  . Messages left unmarked with _("string"), or messages that are marked
>   with _("string") that shouldn't have, won't be serious issues for the
>   first two classes.  The latter is a serious regression for the
>   plumbing.
>
> We are all human, and misconversion during this process is possible, even
> though the above classes of regressions are unacceptable.  On the other
> hand, as long as the above three classes of regressions are minimum and
> quickly fixed/fixable, issues in non-C locale Porcelains are tolerable
> during the initial cut.
>
> I've looked at the patches in the series, and plan to take another look.
> I'm sure others on the list have checked the series, some with fine combs,
> too, and hopefully Ævar has fixed any such regression that has been
> reported and plans to do so for the ones discovered in the future.  As
> long as we are sure that we have done a reasonable effort to eyeball the
> patches, the logical next step would be to merge the series to 'next' for
> further testing.

Right. I'll have time to deal with any bugs that crop up, and I'm
reasonably sure it's OK as-is.

> (4) Incomplete *.po file, and languages without *.po file.
>
> Once we are sure that the series does not have the first two classes of
> issues, we can ask everybody to mark new strings in their series, iow,
> merge the i18n part to 'master'.  If we can do that sooner, it would be
> better, and we do not need specific l10n part from the series during that
> stage.
>
> A language that already has *.po file may lack necessary translation;
> there may be languages that do not have *.po file.  They can be added with
> a lot smaller risk later without unstabilizing the codebase.

Do you mean to re-arrange it so that there's a patch at the front of
the series that introduces gettext.h with only the fallbacks:

    #define _(s) (s)
    #define N_(s) (s)

And then merge the ~120 gettextize patches first and do the
infrastructure later?

That could be done, but just merging the whole 160 patch series and
turning it off by default would have pretty much the same effect. And
since I thought this was going to get merged soon-ish anyway I didn't
spend time on something like that.

> So where are we now?  I think a constantly rebased 160-patch series that
> has infrastructure bits and l10n bits mixed together is not very friendly
> to review for the first three classes of regressions (which are all I care
> about at this point) to help the series hit 'master' sooner.

I think we're basically at a point where merging it down to next ->
master is the logical next step.

> In any case, the branch merged to 'pu' has been replaced with the tip of
> the said branch from Ævar's repository now.

Thanks.

  reply	other threads:[~2010-10-17 12:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-14  4:46 What's cooking in git.git (Oct 2010, #01; Wed, 13) Junio C Hamano
2010-10-14  5:51 ` Nazri Ramliy
2010-10-14  9:23 ` Ævar Arnfjörð Bjarmason
2010-10-14 20:00   ` Stable ab/i18n branch Jonathan Nieder
2010-10-14 20:44     ` Ævar Arnfjörð Bjarmason
2010-10-14 20:54       ` Jonathan Nieder
2010-10-14 21:18         ` Ævar Arnfjörð Bjarmason
2010-10-14 21:26           ` Sverre Rabbelier
2010-10-14 21:50           ` Jon Seymour
2010-10-15  4:54             ` Ævar Arnfjörð Bjarmason
2010-10-15  0:07           ` Jonathan Nieder
2010-10-15  5:16             ` Ævar Arnfjörð Bjarmason
2010-10-15  5:28               ` Jonathan Nieder
2010-10-15  5:35                 ` Ævar Arnfjörð Bjarmason
2010-10-17  4:44     ` Junio C Hamano
2010-10-17 12:33       ` Ævar Arnfjörð Bjarmason [this message]
2010-10-17 15:59         ` Jonathan Nieder
2010-10-18 23:39         ` Junio C Hamano
2010-10-19  6:05           ` Michael J Gruber
2010-10-17  4:43   ` What's cooking in git.git (Oct 2010, #01; Wed, 13) Junio C Hamano
2010-10-21  2:14 ` Johan Herland

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTikc80ev+ex6-9RDgO_h-4LEuZf6M9hPAfVQ9oSX@mail.gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=kusmabite@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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).