git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 03/65] i18n: archive: mark parseopt strings for translation

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
May 30, 2012, 05:11 UTC
Message-ID
<CACsJy8BvZSbsXyh3ct-M3rcWQf9Fw4VDX2VYVy+0Hv+53AQWnw@mail.gmail.com>
In-Reply-To
<7vmx4q4ycj.fsf@alter.siamese.dyndns.org>
On Wed, May 30, 2012 at 1:49 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
>> Nguyen Thai Ngoc Duy wrote:
>>
>>>                         The test suite is currently more focused on
>>> features than human readable output.
>>
>> Thanks for clarifying this.  Yes, that's the point of the
>> GETTEXT_POISON check.  It is supposed to make sure that running git in
>> another locale does not break features by modifying text that
>> (internal and external) scripts parse.
>
> Correct.  The most important thing to review in test scripts is that
> tests that verify output from the plumbing commands are *not* marked
> with GETTEXT_POISON (hence test_i18ncmp).  IOW, storing "ls-files"
> output and then checking it with expected result using test_i18ncmp
> is *wrong*, as it won't catch mistakenly marking plumbing messages
> with _() and N_().

The intention is good, but the execution is not. Requiring special flag to turn this feature on loses its value as normal "make test" does not catch stuff like this. We might want to turn this on by default (at least in the test suite), or LD_PRELOAD this feature in when the test suite is run. Or generate a poisoned .mo file, then make git use that.

Another thing is GETTEXT_POISON poisons too much. printf(_("this is %s\n"), path); is turned to "# GETTEXT POISON #". There's no way for test scripts to verify the correct "path" output.

Anyway I'll send a fixup patch later to make gettext poison test run pass again.
-- 
Duy
Previous: Junio C HamanoNext: Jonathan Nieder
Message 71 of 87 in “Mark parseopt strings for translation”
  1. 00/65 Mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 6, 2012
  2. 01/65 i18n: parseopt: lookup help and argument translations when showing usageNguyễn Thái Ngọc Duy, May 6, 2012
  3. 02/65 i18n: apply: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 6, 2012
  4. 03/65 i18n: archive: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  5. 04/65 i18n: add: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  6. 05/65 i18n: bisect--helper: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  7. 06/65 i18n: blame: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  8. 07/65 i18n: branch: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  9. 08/65 i18n: cat-file: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  10. 09/65 i18n: check-attr: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  11. 10/65 i18n: checkout-index: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  12. 11/65 i18n: checkout: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  13. 12/65 i18n: cherry: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  14. 13/65 i18n: clean: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  15. 14/65 i18n: clone: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  16. 15/65 i18n: column: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  17. 16/65 i18n: commit: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  18. 17/65 i18n: config: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  19. 18/65 i18n: count-objects: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  20. 19/65 i18n: describe: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  21. 20/65 i18n: fast-export: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  22. 21/65 i18n: fetch: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  23. 22/65 i18n: fmt-merge-msg: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  24. 23/65 i18n: for-each-ref: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  25. 24/65 i18n: format-patch: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  26. 25/65 i18n: fsck: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  27. 26/65 i18n: gc: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  28. 27/65 i18n: grep: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  29. 28/65 i18n: hash-object: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  30. 29/65 i18n: help: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  31. 30/65 i18n: init-db: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  32. 31/65 i18n: log: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  33. 32/65 i18n: ls-files: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  34. 33/65 i18n: ls-tree: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  35. 34/65 i18n: merge-base: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  36. 35/65 i18n: merge-file: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  37. 36/65 i18n: merge: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  38. 37/65 i18n: mktree: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  39. 38/65 i18n: mv: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  40. 39/65 i18n: name-rev: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  41. 40/65 i18n: notes: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  42. 41/65 i18n: pack-objects: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  43. 42/65 i18n: pack-refs: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  44. 43/65 i18n: prune-packed: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  45. 44/65 i18n: prune: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  46. 45/65 i18n: push: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  47. 46/65 i18n: read-tree: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  48. 47/65 i18n: remote: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  49. 48/65 i18n: replace: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  50. 49/65 i18n: status: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  51. 50/65 i18n: rerere: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  52. 51/65 i18n: reset: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  53. 52/65 i18n: rev-parse: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  54. 53/65 i18n: revert, cherry-pick: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  55. 54/65 i18n: rm: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  56. 55/65 i18n: shortlog: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  57. 56/65 i18n: show-branch: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  58. 57/65 i18n: show-ref: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  59. 58/65 i18n: symbolic-ref: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  60. 59/65 i18n: tag: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  61. 60/65 i18n: update-index: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  62. 61/65 i18n: update-ref: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  63. 62/65 i18n: update-server-info: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  64. 63/65 i18n: verify-pack: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  65. 64/65 i18n: verify-tag: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  66. 65/65 i18n: write-tree: mark parseopt strings for translationNguyễn Thái Ngọc Duy, May 28, 2012
  67. Jonathan NiederMay 28, 2012
  68. Nguyen Thai Ngoc DuyMay 29, 2012
  69. Jonathan NiederMay 29, 2012
  70. Junio C HamanoMay 29, 2012
  71. Nguyen Thai Ngoc DuyMay 30, 2012
  72. Jonathan NiederMay 30, 2012
  73. Nguyen Thai Ngoc DuyMay 30, 2012
  74. Nguyen Thai Ngoc DuyMay 30, 2012
  75. Junio C HamanoMay 29, 2012
  76. Jonathan NiederMay 29, 2012
  77. Junio C HamanoMay 29, 2012
  78. Nguyen Thai Ngoc DuyMay 30, 2012
  79. Nguyen Thai Ngoc DuyJun 2, 2012
  80. Jonathan NiederJun 2, 2012
  81. Nguyen Thai Ngoc DuyJun 7, 2012
  82. Jonathan NiederJun 7, 2012
  83. Nguyen Thai Ngoc DuyJun 7, 2012
  84. Jonathan NiederJun 7, 2012
  85. Junio C HamanoJun 7, 2012
  86. Junio C HamanoMay 8, 2012
  87. Nguyen Thai Ngoc DuyMay 18, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.