[PATCH 00/63] [REDO] Add gettext support to Git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The previous nested pull requests were a mess, and I needed to fix
some bugs. So here's a total re-do of the ab/i18n series. Everything
that's already in pu from ab/i18n can be ejected in favor of this.

Most of these 63 patches have been seen here before. So I'll only be
sending the stuff that's changed or interesting along with this
series. To get the full thing go to:

    git://github.com/avar/git.git ab/i18n-all
    http://github.com/avar/git/compare/master...ab/i18n-all
    http://github.com/avar/git/compare/master...ab/i18n-all.patch

The last of which is a patch file suitable for git-am(1).

Since last time I've rebased this on the new upstream master branch,
which now has my ab/test-2 series.

See comments by the patches below for other changes in this
series since last time.

Jan Krüger (1):
  po/de.po: add German translation

Marcin Cieślak (1):
  po/pl.po: add Polish translation

Sam Reed (1):
  po/en_GB.po: add British English Translation

    I minimized this so it now only contains 3 msgid/msgstr pairs,
    instead of containing *all* of them just to translate those three.

    As an aside I really need to patch the upstream gettext tools to
    make this easy. I have to manually edit the file now to do this.

Thomas Rast (1):
  tests: locate i18n lib&data correctly under --valgrind

    The 2e75a8c that's in pu right now solves the merge conflict
    between ab/i18n and ab/test incorrectly. Since ab/test has been
    merged this needs no changes to test-lib.sh at all (GIT_BUILD_DIR
    is now already defined there).

Ævar Arnfjörð Bjarmason (59):
  builtin: use builtin.h for all builtin commands

    These changes for builtin.h are now part of this series for
    convenience. But Junio might want to split them up away from the
    ab/i18n topic.

  Add infrastructure for translating Git with gettext

    Updated to solve merge conflicts with the new master. No other
    changes.

  tests: rename test to work around GNU gettext bug
  gettext: setlocale(LC_CTYPE, "") breaks Git's C function assumptions
  Makefile: A variable for options used by xgettext(1) calls
  Makefile: provide a --msgid-bugs-address to xgettext(1)
  Makefile: tell xgettext(1) that our source is in UTF-8
  Makefile: use variables and shorter lines for xgettext
  builtin.h: Include gettext.h
  gettext: make the simple parts of git-init localizable
  gettext: localize the main git-init message
  gettext.c: work around us not using setlocale(LC_CTYPE, "")
  gettext tests: test if $VERSION exists before using it
  gettext tests: update test/is.po to match t/t0200/test.c
  gettext tests: add detection for is_IS.ISO-8859-1 locale
  gettext tests: test message re-encoding under Shell
  gettext tests: test re-encoding with a UTF-8 msgid under Shell
  gettext tests: mark a test message as not needing translation

  po/is.po: msgmerge and add Language: header
  po/is.po: add Icelandic translation

    I've rewritten these and all other changes to po/*.po files to not
    have the autogenerated line numbers. So with this new topic these
    *never* apprear in the po/*.po history.

  gettext tests: test message re-encoding under C
  gettext tests: remove old sanity test under NO_GETTEXT
  gettext docs: add po/README file documenting Git's gettext
  gettext tests: add GETTEXT_POISON=YesPlease Makefile parameter

  gettext tests: skip lib-gettext.sh tests under GETTEXT_POISON

    Split up from the below. Easier to review this way.

  gettext tests: skip breaking tests under GETTEXT_POISON

    Ejected changes to t7602-merge-octopus-many.sh from this. Those
    tests tested for a plumbing message (see below)

    This is still the part of this series that needs the most
    review. I *think* I got this right, but more eyes are needed on
    it.

  gettextize: git-clone basic messages
  gettextize: git-clone "Cloning into" message
  gettextize: git-add basic messages
  gettextize: git-add refresh_index message
  gettextize: git-branch basic messages
  gettextize: git-branch "remote branch '%s' not found" message
  gettextize: git-branch "git branch -v" messages
  gettextize: git-branch "(no branch)" message
  gettextize: git-checkout: our/their version message
  gettextize: git-checkout basic messages
  gettextize: git-checkout describe_detached_head messages
  gettextize: git-checkout "Switched to a .. branch" message
  gettextize: git-commit basic messages
  gettextize: git-commit formatting messages
  gettextize: git-commit advice messages
  gettextize: git-diff basic messages
  gettextize: git-fetch basic messages
  gettextize: git-fetch formatting messages
  gettextize: git-fetch update_local_ref messages
  gettextize: git-fetch split up "(non-fast-forward)" message
  gettextize: git-grep basic messages
  gettextize: git-log basic messages
  gettextize: git-merge basic messages

    The finish() command ends up writing to the reflog, not only to
    stdout. So I needed drop all these patches:
    
        gettextize: git-merge remaining cmd_merge messages
        gettextize: git-merge "Merge made by %s." message
        gettextize: git-merge "In-index merge" message

    Now git-merge only makes the basic output/die messages
    translatable.
    
  gettextize: git-mv basic messages
  gettextize: git-mv "bad" messages
  gettextize: git-rm basic messages
  gettextize: git-reset basic messages
  gettextize: git-reset reset_type_names messages
  gettextize: git-tag basic messages
  gettextize: git-tag tag_template message
  gettextize: git-push basic messages
  gettextize: git-status basic messages
  gettextize: git-status shortstatus messages

 .gitignore                          |    2 +
 INSTALL                             |   12 +
 Makefile                            |   92 ++-
 builtin.h                           |    1 +
 builtin/add.c                       |   46 +-
 builtin/branch.c                    |   69 +-
 builtin/checkout.c                  |   93 +-
 builtin/clone.c                     |   61 +-
 builtin/commit.c                    |  156 ++--
 builtin/diff.c                      |   20 +-
 builtin/fetch-pack.c                |    2 +-
 builtin/fetch.c                     |   82 +-
 builtin/grep.c                      |   34 +-
 builtin/hash-object.c               |    2 +-
 builtin/index-pack.c                |    2 +-
 builtin/init-db.c                   |   56 +-
 builtin/log.c                       |   68 +-
 builtin/merge-index.c               |    2 +-
 builtin/merge-recursive.c           |    2 +-
 builtin/merge-tree.c                |    2 +-
 builtin/merge.c                     |  122 ++--
 builtin/mktag.c                     |    2 +-
 builtin/mv.c                        |   32 +-
 builtin/pack-redundant.c            |    2 +-
 builtin/pack-refs.c                 |    2 +-
 builtin/patch-id.c                  |    2 +-
 builtin/push.c                      |   42 +-
 builtin/receive-pack.c              |    2 +-
 builtin/remote.c                    |    3 +-
 builtin/reset.c                     |   44 +-
 builtin/rm.c                        |   22 +-
 builtin/send-pack.c                 |    2 +-
 builtin/tag.c                       |   66 +-
 builtin/unpack-file.c               |    2 +-
 builtin/var.c                       |    2 +-
 config.mak.in                       |    2 +
 configure.ac                        |   12 +
 daemon.c                            |    3 +
 fast-import.c                       |    3 +
 gettext.c                           |   27 +
 gettext.h                           |   22 +
 git-sh-i18n.sh                      |   71 ++
 git.c                               |    3 +
 http-backend.c                      |    3 +
 http-fetch.c                        |    3 +
 http-push.c                         |    3 +
 imap-send.c                         |    3 +
 perl/Git/I18N.pm                    |   91 ++
 perl/Makefile                       |    3 +-
 perl/Makefile.PL                    |   14 +-
 po/.gitignore                       |    1 +
 po/README                           |   68 ++
 po/de.po                            | 1888 +++++++++++++++++++++++++++++++++++
 po/en_GB.po                         |   22 +
 po/is.po                            |  152 +++
 po/pl.po                            |  153 +++
 shell.c                             |    3 +
 show-index.c                        |    3 +
 t/lib-gettext.sh                    |   68 ++
 t/lib-httpd.sh                      |    2 +-
 t/t0001-init.sh                     |    2 +-
 t/t0200-gettext-basic.sh            |  108 ++
 t/t0200/test.c                      |   23 +
 t/t0200/test.perl                   |   14 +
 t/t0200/test.sh                     |   14 +
 t/t0201-gettext-fallbacks.sh        |   49 +
 t/t0202-gettext-perl.sh             |   27 +
 t/t0202/test.pl                     |  109 ++
 t/t0203-gettext-setlocale-sanity.sh |   26 +
 t/t0204-gettext-reencode-sanity.sh  |   78 ++
 t/t1200-tutorial.sh                 |    4 +-
 t/t2200-add-update.sh               |    2 +-
 t/t2204-add-ignored.sh              |    8 +-
 t/t3030-merge-recursive.sh          |    2 +-
 t/t3200-branch.sh                   |    2 +-
 t/t3203-branch-output.sh            |    2 +-
 t/t3700-add.sh                      |    4 +-
 t/t4001-diff-rename.sh              |    4 +-
 t/t4014-format-patch.sh             |    2 +-
 t/t5541-http-push.sh                |    2 +-
 t/t5601-clone.sh                    |    2 +-
 t/t6040-tracking-info.sh            |    2 +-
 t/t7004-tag.sh                      |    6 +-
 t/t7060-wtstatus.sh                 |    2 +-
 t/t7102-reset.sh                    |    2 +-
 t/t7110-reset-merge.sh              |    6 +-
 t/t7201-co.sh                       |   10 +-
 t/t7500-commit.sh                   |    9 +-
 t/t7501-commit.sh                   |   14 +-
 t/t7502-commit.sh                   |   46 +-
 t/t7506-status-submodule.sh         |   28 +-
 t/t7508-status.sh                   |   98 +-
 t/t7600-merge.sh                    |    2 +-
 t/t7811-grep-open.sh                |    2 +-
 t/test-lib.sh                       |    3 +
 upload-pack.c                       |    3 +
 wt-status.c                         |  116 ++--
 97 files changed, 3901 insertions(+), 706 deletions(-)
 create mode 100644 gettext.c
 create mode 100644 gettext.h
 create mode 100644 git-sh-i18n.sh
 create mode 100644 perl/Git/I18N.pm
 create mode 100644 po/.gitignore
 create mode 100644 po/README
 create mode 100644 po/de.po
 create mode 100644 po/en_GB.po
 create mode 100644 po/is.po
 create mode 100644 po/pl.po
 create mode 100644 t/lib-gettext.sh
 create mode 100755 t/t0200-gettext-basic.sh
 create mode 100644 t/t0200/test.c
 create mode 100644 t/t0200/test.perl
 create mode 100644 t/t0200/test.sh
 create mode 100755 t/t0201-gettext-fallbacks.sh
 create mode 100755 t/t0202-gettext-perl.sh
 create mode 100644 t/t0202/test.pl
 create mode 100755 t/t0203-gettext-setlocale-sanity.sh
 create mode 100755 t/t0204-gettext-reencode-sanity.sh

-- 
1.7.2.3.313.gcd15

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]