{"thread":{"id":"27299","subject":"[PATCH 00/48] i18n: Add shell script translations (depends on infrastructure)","startedAt":"2011-05-08T12:20:32Z","lastAt":"2011-05-13T09:48:25Z","messageCount":59,"participants":["Ævar Arnfjörð Bjarmason","Motiejus Jakštys","Bernhard R. Link","Junio C Hamano","Johannes Sixt","Erik Faye-Lund"],"isPatch":true,"patchVersion":1,"patchTotal":48},"messages":[{"id":"167374","messageId":"1304857280-14773-1-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":null,"subject":"[PATCH 00/48] i18n: Add shell script translations (depends on infrastructure)","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:32Z","receivedAt":"2011-05-08T12:20:32Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"This series builds on the \"i18n: Add shell script translation\ninfrastructure\" series and adds the translations for the common *.sh\nprograms.\n\nChanges since last time:\n\n * Fixed up for new broken tests under gettext poison\n\n * Now using the test_i18ncmp and test_i18ngrep functions\n\n * Ejected some git-pull patches:\n\n    pick 969ef13 i18n: git-pull split up \"no candidate\" message\n    pick 8eb125e i18n: git-pull \"You asked to pull\" message\n    pick c7d7d56 i18n: git-pull \"[...] not currently on a branch\" message\n    pick 43e6a9f i18n: git-pull \"rebase against\" / \"merge with\" messages\n\n   These were all used by error_on_no_merge_candidates and recently\n   split into git-parse-remote. It's too hard to keep rebasing these\n   when the code is being changed from under me, I'll submit a series\n   to do these separately once this series is in master.\n\nÆvar Arnfjörð Bjarmason (48):\n  i18n: git-am add git-sh-i18n\n  i18n: git-am one-line gettext $msg; echo\n  i18n: git-am multi-line getttext $msg; echo\n  i18n: git-am eval_gettext messages\n  i18n: git-am echo + gettext message\n  i18n: git-am die messages\n  i18n: git-am cannot_fallback messages\n  i18n: git-am clean_abort messages\n  i18n: git-am \"Apply?\" message\n  i18n: git-am \"Falling back\" say message\n  i18n: git-am core say messages\n  i18n: git-am printf(1) message to eval_gettext\n  i18n: git-pull add git-sh-i18n\n  i18n: git-pull die messages\n  i18n: git-pull eval_gettext + die message\n  i18n: git-pull eval_gettext + warning message\n  i18n: git-submodule add git-sh-i18n\n  i18n: git-submodule echo + eval_gettext messages\n  i18n: git-submodule say + eval_gettext messages\n  i18n: git-submodule die + eval_gettext messages\n  i18n: git-submodule $update_module say + die messages\n  i18n: git-submodule \"cached cannot be used\" message\n  i18n: git-submodule \"Submodule change[...]\" messages\n  i18n: git-submodule $errmsg messages\n  i18n: git-submodule \"Entering [...]\" message\n  i18n: git-submodule \"[...] path is ignored\" message\n  i18n: git-submodule \"path not initialized\" message\n  i18n: git-submodule \"blob\" and \"submodule\" messages\n  i18n: git-stash add git-sh-i18n\n  i18n: git-stash echo + gettext message\n  i18n: git-stash say + gettext messages\n  i18n: git-stash die + gettext messages\n  i18n: git-stash die + eval_gettext messages\n  i18n: git-stash die + eval_gettext $* messages\n  i18n: git-stash die + eval_gettext $1 messages\n  i18n: git-stash \"unknown option\" message\n  i18n: git-stash drop_stash say/die messages\n  i18n: git-bisect add git-sh-i18n\n  i18n: git-bisect gettext + echo message\n  i18n: git-bisect echo + gettext messages\n  i18n: git-bisect echo + eval_gettext message\n  i18n: git-bisect die + gettext messages\n  i18n: git-bisect die + eval_gettext messages\n  i18n: git-bisect bisect_run + $@ messages\n  i18n: git-bisect bisect_reset + $1 messages\n  i18n: git-bisect bisect_replay + $1 messages\n  i18n: git-bisect [Y/n] messages\n  i18n: git-bisect bisect_next_check \"You need to\" message\n\n git-am.sh                    |   74 ++++++++++++++++++----------------\n git-bisect.sh                |   92 +++++++++++++++++++++++------------------\n git-pull.sh                  |   31 +++++++-------\n git-stash.sh                 |   73 ++++++++++++++++++++-------------\n git-submodule.sh             |   92 +++++++++++++++++++++--------------------\n t/t4150-am.sh                |    2 +-\n t/t4151-am-abort.sh          |    5 +-\n t/t7400-submodule-basic.sh   |    4 +-\n t/t7401-submodule-summary.sh |   12 +++---\n t/t7406-submodule-update.sh  |    2 +-\n t/t7407-submodule-foreach.sh |    4 +-\n 11 files changed, 214 insertions(+), 177 deletions(-)\n\n-- \n1.7.4.4\n"},{"id":"167375","messageId":"1304857280-14773-2-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 01/48] i18n: git-am add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:33Z","receivedAt":"2011-05-08T12:20:33Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Source git-sh-i18n in git-am.sh, it's needed to import the Git gettext\nshell functions.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |    1 +\n 1 files changed, 1 insertions(+), 0 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 6cdd591..79c5ea2 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -37,6 +37,7 @@ rerere-autoupdate update the index with reused conflict resolution if possible\n rebasing*       (internal use for git-rebase)\"\n \n . git-sh-setup\n+. git-sh-i18n\n prefix=$(git rev-parse --show-prefix)\n set_reflog_action am\n require_work_tree\n-- \n1.7.4.4\n"},{"id":"167376","messageId":"1304857280-14773-3-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 02/48] i18n: git-am one-line gettext $msg; echo","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:34Z","receivedAt":"2011-05-08T12:20:34Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"One-line `gettext $msg; echo' messages are the simplest use case for\ngettext(1).\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 79c5ea2..f54f13d 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -115,7 +115,7 @@ go_next () {\n \n cannot_fallback () {\n \techo \"$1\"\n-\techo \"Cannot fall back to three-way merge.\"\n+\tgettext \"Cannot fall back to three-way merge.\"; echo\n \texit 1\n }\n \n@@ -645,7 +645,7 @@ do\n \n \tif test -z \"$GIT_AUTHOR_EMAIL\"\n \tthen\n-\t\techo \"Patch does not have a valid e-mail address.\"\n+\t\tgettext \"Patch does not have a valid e-mail address.\"; echo\n \t\tstop_here $this\n \tfi\n \n@@ -696,7 +696,7 @@ do\n \t    action=again\n \t    while test \"$action\" = again\n \t    do\n-\t\techo \"Commit Body is:\"\n+\t\tgettext \"Commit Body is:\"; echo\n \t\techo \"--------------------------\"\n \t\tcat \"$dotest/final-commit\"\n \t\techo \"--------------------------\"\n-- \n1.7.4.4\n"},{"id":"167377","messageId":"1304857280-14773-4-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 03/48] i18n: git-am multi-line getttext $msg; echo","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:35Z","receivedAt":"2011-05-08T12:20:35Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"When we have multi-line `gettext $msg; echo' messages we can't\npreserve the existing indenting because gettext(1) can't accept input\non stdin.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |   10 +++++-----\n 1 files changed, 5 insertions(+), 5 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex f54f13d..5a152b0 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -757,16 +757,16 @@ do\n \t\t# working tree.\n \t\tresolved=\n \t\tgit diff-index --quiet --cached HEAD -- && {\n-\t\t\techo \"No changes - did you forget to use 'git add'?\"\n-\t\t\techo \"If there is nothing left to stage, chances are that something else\"\n-\t\t\techo \"already introduced the same changes; you might want to skip this patch.\"\n+\t\t\tgettext \"No changes - did you forget to use 'git add'?\n+If there is nothing left to stage, chances are that something else\n+already introduced the same changes; you might want to skip this patch.\"; echo\n \t\t\tstop_here_user_resolve $this\n \t\t}\n \t\tunmerged=$(git ls-files -u)\n \t\tif test -n \"$unmerged\"\n \t\tthen\n-\t\t\techo \"You still have unmerged paths in your index\"\n-\t\t\techo \"did you forget to use 'git add'?\"\n+\t\t\tgettext \"You still have unmerged paths in your index\n+did you forget to use 'git add'?\"; echo\n \t\t\tstop_here_user_resolve $this\n \t\tfi\n \t\tapply_status=0\n-- \n1.7.4.4\n"},{"id":"167378","messageId":"1304857280-14773-5-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 04/48] i18n: git-am eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:36Z","receivedAt":"2011-05-08T12:20:36Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Messages that use variables to be interpolated need to use\neval_gettext(), this wrapper will eval the message and expand the\nvariable for us.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |   12 ++++++------\n 1 files changed, 6 insertions(+), 6 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 5a152b0..7c0273c 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -99,9 +99,9 @@ stop_here_user_resolve () {\n \t    printf '%s\\n' \"$resolvemsg\"\n \t    stop_here $1\n     fi\n-    echo \"When you have resolved this problem run \\\"$cmdline --resolved\\\".\"\n-    echo \"If you would prefer to skip this patch, instead run \\\"$cmdline --skip\\\".\"\n-    echo \"To restore the original branch and stop patching run \\\"$cmdline --abort\\\".\"\n+    eval_gettext \"When you have resolved this problem run \\\"\\$cmdline --resolved\\\".\n+If you would prefer to skip this patch, instead run \\\"\\$cmdline --skip\\\".\n+To restore the original branch and stop patching run \\\"\\$cmdline --abort\\\".\"; echo\n \n     stop_here $1\n }\n@@ -608,9 +608,9 @@ do\n \t\t\tgo_next && continue\n \n \t\ttest -s \"$dotest/patch\" || {\n-\t\t\techo \"Patch is empty.  Was it split wrong?\"\n-\t\t\techo \"If you would prefer to skip this patch, instead run \\\"$cmdline --skip\\\".\"\n-\t\t\techo \"To restore the original branch and stop patching run \\\"$cmdline --abort\\\".\"\n+\t\t\teval_gettext \"Patch is empty.  Was it split wrong?\n+If you would prefer to skip this patch, instead run \\\"\\$cmdline --skip\\\".\n+To restore the original branch and stop patching run \\\"\\$cmdline --abort\\\".\"; echo\n \t\t\tstop_here $this\n \t\t}\n \t\trm -f \"$dotest/original-commit\" \"$dotest/author-script\"\n-- \n1.7.4.4\n"},{"id":"167379","messageId":"1304857280-14773-6-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 05/48] i18n: git-am echo + gettext message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:37Z","receivedAt":"2011-05-08T12:20:37Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"---\n git-am.sh |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 7c0273c..688f689 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -89,8 +89,8 @@ safe_to_abort () {\n \tthen\n \t\treturn 0\n \tfi\n-\techo >&2 \"You seem to have moved HEAD since the last 'am' failure.\"\n-\techo >&2 \"Not rewinding to ORIG_HEAD\"\n+\techo >&2 \"$(gettext \"You seem to have moved HEAD since the last 'am' failure.\n+Not rewinding to ORIG_HEAD\")\"\n \treturn 1\n }\n \n-- \n1.7.4.4\n"},{"id":"167382","messageId":"1304857280-14773-7-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 06/48] i18n: git-am die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:38Z","receivedAt":"2011-05-08T12:20:38Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"The die messages in git-am need to use:\n\n    die \"$(gettext \"string\")\"\n\nSince gettext(1) emits the message instead of returning it like the C\nequivalent, and our die() function in git-sh-setup needs to get a\nstring as an argument.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |   14 +++++++-------\n 1 files changed, 7 insertions(+), 7 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 688f689..cbd48a9 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -44,7 +44,7 @@ require_work_tree\n cd_to_toplevel\n \n git var GIT_COMMITTER_IDENT >/dev/null ||\n-\tdie \"You need to set your committer info first\"\n+\tdie \"$(gettext \"You need to set your committer info first\")\"\n \n if git rev-parse --verify -q HEAD >/dev/null\n then\n@@ -359,7 +359,7 @@ do\n \t--rebasing)\n \t\trebasing=t threeway=t keep=t scissors=f no_inbody_headers=t ;;\n \t-d|--dotest)\n-\t\tdie \"-d option is no longer supported.  Do not use.\"\n+\t\tdie \"$(gettext \"-d option is no longer supported.  Do not use.\")\"\n \t\t;;\n \t--resolvemsg)\n \t\tshift; resolvemsg=$1 ;;\n@@ -422,12 +422,12 @@ then\n \t\tfalse\n \t\t;;\n \tesac ||\n-\tdie \"previous rebase directory $dotest still exists but mbox given.\"\n+\tdie \"$(eval_gettext \"previous rebase directory \\$dotest still exists but mbox given.\")\"\n \tresume=yes\n \n \tcase \"$skip,$abort\" in\n \tt,t)\n-\t\tdie \"Please make up your mind. --skip or --abort?\"\n+\t\tdie \"$(gettext \"Please make up your mind. --skip or --abort?\")\"\n \t\t;;\n \tt,)\n \t\tgit rerere clear\n@@ -454,7 +454,7 @@ then\n else\n \t# Make sure we are not given --skip, --resolved, nor --abort\n \ttest \"$skip$resolved$abort\" = \"\" ||\n-\t\tdie \"Resolve operation not in progress, we are not resuming.\"\n+\t\tdie \"$(gettext \"Resolve operation not in progress, we are not resuming.\")\"\n \n \t# Start afresh.\n \tmkdir -p \"$dotest\" || exit\n@@ -519,7 +519,7 @@ case \"$resolved\" in\n \tif test \"$files\"\n \tthen\n \t\ttest -n \"$HAS_HEAD\" && : >\"$dotest/dirtyindex\"\n-\t\tdie \"Dirty index: cannot apply patches (dirty: $files)\"\n+\t\tdie \"$(eval_gettext \"Dirty index: cannot apply patches (dirty: \\$files)\")\"\n \tfi\n esac\n \n@@ -692,7 +692,7 @@ To restore the original branch and stop patching run \\\"\\$cmdline --abort\\\".\"; ec\n \tif test \"$interactive\" = t\n \tthen\n \t    test -t 0 ||\n-\t    die \"cannot be interactive without stdin connected to a terminal.\"\n+\t    die \"$(gettext \"cannot be interactive without stdin connected to a terminal.\")\"\n \t    action=again\n \t    while test \"$action\" = again\n \t    do\n-- \n1.7.4.4\n"},{"id":"167380","messageId":"1304857280-14773-8-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 07/48] i18n: git-am cannot_fallback messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:39Z","receivedAt":"2011-05-08T12:20:39Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Translate messages with gettext(1) before they're passed to the\ncannot_fallback function, just like we handle the die function.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex cbd48a9..5c06eda 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -130,7 +130,7 @@ fall_back_3way () {\n \t\"$dotest/patch\" &&\n     GIT_INDEX_FILE=\"$dotest/patch-merge-tmp-index\" \\\n     git write-tree >\"$dotest/patch-merge-base+\" ||\n-    cannot_fallback \"Repository lacks necessary blobs to fall back on 3-way merge.\"\n+    cannot_fallback \"$(gettext \"Repository lacks necessary blobs to fall back on 3-way merge.\")\"\n \n     say Using index info to reconstruct a base tree...\n     if GIT_INDEX_FILE=\"$dotest/patch-merge-tmp-index\" \\\n@@ -139,8 +139,8 @@ fall_back_3way () {\n \tmv \"$dotest/patch-merge-base+\" \"$dotest/patch-merge-base\"\n \tmv \"$dotest/patch-merge-tmp-index\" \"$dotest/patch-merge-index\"\n     else\n-        cannot_fallback \"Did you hand edit your patch?\n-It does not apply to blobs recorded in its index.\"\n+        cannot_fallback \"$(gettext \"Did you hand edit your patch?\n+It does not apply to blobs recorded in its index.\")\"\n     fi\n \n     test -f \"$dotest/patch-merge-index\" &&\n-- \n1.7.4.4\n"},{"id":"167381","messageId":"1304857280-14773-9-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 08/48] i18n: git-am clean_abort messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:40Z","receivedAt":"2011-05-08T12:20:40Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Messages that used the clean_abort function needed both gettext(1) and\neval_gettext(). These need to be interpolated in a string like the die\nand cannot_fallback messages.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 5c06eda..ed48673 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -255,7 +255,7 @@ split_patches () {\n \tstgit-series)\n \t\tif test $# -ne 1\n \t\tthen\n-\t\t\tclean_abort \"Only one StGIT patch series can be applied at once\"\n+\t\t\tclean_abort \"$(gettext \"Only one StGIT patch series can be applied at once\")\"\n \t\tfi\n \t\tseries_dir=`dirname \"$1\"`\n \t\tseries_file=\"$1\"\n@@ -307,9 +307,9 @@ split_patches () {\n \t\t;;\n \t*)\n \t\tif test -n \"$parse_patch\" ; then\n-\t\t\tclean_abort \"Patch format $patch_format is not supported.\"\n+\t\t\tclean_abort \"$(eval_gettext \"Patch format \\$patch_format is not supported.\")\"\n \t\telse\n-\t\t\tclean_abort \"Patch format detection failed.\"\n+\t\t\tclean_abort \"$(gettext \"Patch format detection failed.\")\"\n \t\tfi\n \t\t;;\n \tesac\n-- \n1.7.4.4\n"},{"id":"167421","messageId":"1304857280-14773-10-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 09/48] i18n: git-am \"Apply?\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:41Z","receivedAt":"2011-05-08T12:20:41Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Make the \"Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all\" message\ntranslatable, and leave a note in a TRANSLATORS comment explaining\nthat translators have to preserve a mention of the y/n/e/v/a\ncharacters since the program will expect them, and not their\nlocalized equivalents.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |    5 ++++-\n 1 files changed, 4 insertions(+), 1 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex ed48673..2c8770b 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -700,7 +700,10 @@ To restore the original branch and stop patching run \\\"\\$cmdline --abort\\\".\"; ec\n \t\techo \"--------------------------\"\n \t\tcat \"$dotest/final-commit\"\n \t\techo \"--------------------------\"\n-\t\tprintf \"Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all \"\n+\t\t# TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]\n+\t\t# in your translation. The program will only accept English\n+\t\t# input at this point.\n+\t\tgettext \"Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all \"\n \t\tread reply\n \t\tcase \"$reply\" in\n \t\t[yY]*) action=yes ;;\n-- \n1.7.4.4\n"},{"id":"167420","messageId":"1304857280-14773-11-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 10/48] i18n: git-am \"Falling back\" say message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:42Z","receivedAt":"2011-05-08T12:20:42Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Make the \"Falling back to patching base and 3-way merge...\" message\nused by fall_back_3way() translatable.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 2c8770b..903d1e3 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -148,7 +148,7 @@ It does not apply to blobs recorded in its index.\")\"\n     orig_tree=$(cat \"$dotest/patch-merge-base\") &&\n     rm -fr \"$dotest\"/patch-merge-* || exit 1\n \n-    say Falling back to patching base and 3-way merge...\n+    say \"$(gettext \"Falling back to patching base and 3-way merge...\")\"\n \n     # This is not so wrong.  Depending on which base we picked,\n     # orig_tree may be wildly different from ours, but his_tree\n-- \n1.7.4.4\n"},{"id":"167419","messageId":"1304857280-14773-12-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 11/48] i18n: git-am core say messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:43Z","receivedAt":"2011-05-08T12:20:43Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Make the core git-am messages that use say() translatable. These are\nvisible on almost every git am invocation.\n\nThere are tests that depend on the \"Applying\" output that need to be\nchanged to use the test_i18* functions along with this translation.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh           |    6 +++---\n t/t4150-am.sh       |    2 +-\n t/t4151-am-abort.sh |    5 +++--\n 3 files changed, 7 insertions(+), 6 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 903d1e3..77ecae7 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -739,7 +739,7 @@ To restore the original branch and stop patching run \\\"\\$cmdline --abort\\\".\"; ec\n \t\tstop_here $this\n \tfi\n \n-\tsay \"Applying: $FIRSTLINE\"\n+\tsay \"$(eval_gettext \"Applying: \\$FIRSTLINE\")\"\n \n \tcase \"$resolved\" in\n \t'')\n@@ -784,7 +784,7 @@ did you forget to use 'git add'?\"; echo\n \t\t    # Applying the patch to an earlier tree and merging the\n \t\t    # result may have produced the same tree as ours.\n \t\t    git diff-index --quiet --cached HEAD -- && {\n-\t\t\tsay No changes -- Patch already applied.\n+\t\t\tsay \"$(gettext \"No changes -- Patch already applied.\")\"\n \t\t\tgo_next\n \t\t\tcontinue\n \t\t    }\n@@ -810,7 +810,7 @@ did you forget to use 'git add'?\"; echo\n \t\t\tGIT_AUTHOR_DATE=\n \t\tfi\n \t\tparent=$(git rev-parse --verify -q HEAD) ||\n-\t\tsay >&2 \"applying to an empty history\"\n+\t\tsay >&2 \"$(gettext \"applying to an empty history\")\"\n \n \t\tif test -n \"$committer_date_is_author_date\"\n \t\tthen\ndiff --git a/t/t4150-am.sh b/t/t4150-am.sh\nindex 850fc96..151404e 100755\n--- a/t/t4150-am.sh\n+++ b/t/t4150-am.sh\n@@ -465,7 +465,7 @@ test_expect_success 'am newline in subject' '\n \ttest_tick &&\n \tsed -e \"s/second/second \\\\\\n foo/\" patch1 >patchnl &&\n \tgit am <patchnl >output.out 2>&1 &&\n-\tgrep \"^Applying: second \\\\\\n foo$\" output.out\n+\ttest_i18ngrep \"^Applying: second \\\\\\n foo$\" output.out\n '\n \n test_expect_success 'am -q is quiet' '\ndiff --git a/t/t4151-am-abort.sh b/t/t4151-am-abort.sh\nindex c95c4cc..1176bcc 100755\n--- a/t/t4151-am-abort.sh\n+++ b/t/t4151-am-abort.sh\n@@ -45,8 +45,9 @@ do\n \n \ttest_expect_success \"am$with3 --skip continue after failed am$with3\" '\n \t\ttest_must_fail git am$with3 --skip >output &&\n-\t\ttest \"$(grep \"^Applying\" output)\" = \"Applying: 6\" &&\n-\t\ttest_cmp file-2-expect file-2 &&\n+\t\ttest_i18ngrep \"^Applying\" output >output.applying &&\n+\t\ttest_i18ngrep \"^Applying: 6$\" output.applying &&\n+\t\ttest_i18ncmp file-2-expect file-2 &&\n \t\ttest ! -f .git/MERGE_RR\n \t'\n \n-- \n1.7.4.4\n"},{"id":"167391","messageId":"1304857280-14773-13-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 12/48] i18n: git-am printf(1) message to eval_gettext","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:44Z","receivedAt":"2011-05-08T12:20:44Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Convert a message that used printf(1) format to use eval_gettext. It's\neasier for translators to handle the latter, since the eval format\nautomatically gives them context via variable names.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-am.sh |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 77ecae7..8554a67 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -794,7 +794,7 @@ did you forget to use 'git add'?\"; echo\n \tfi\n \tif test $apply_status != 0\n \tthen\n-\t\tprintf 'Patch failed at %s %s\\n' \"$msgnum\" \"$FIRSTLINE\"\n+\t\teval_gettext 'Patch failed at $msgnum $FIRSTLINE'; echo\n \t\tstop_here_user_resolve $this\n \tfi\n \n-- \n1.7.4.4\n"},{"id":"167384","messageId":"1304857280-14773-14-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 13/48] i18n: git-pull add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:45Z","receivedAt":"2011-05-08T12:20:45Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-pull.sh |    1 +\n 1 files changed, 1 insertions(+), 0 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex fb9e2df..05011b1 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -9,6 +9,7 @@ LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEA\n SUBDIRECTORY_OK=Yes\n OPTIONS_SPEC=\n . git-sh-setup\n+. git-sh-i18n\n set_reflog_action \"pull $*\"\n require_work_tree\n cd_to_toplevel\n-- \n1.7.4.4\n"},{"id":"167383","messageId":"1304857280-14773-15-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 14/48] i18n: git-pull die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:46Z","receivedAt":"2011-05-08T12:20:46Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-pull.sh |   18 +++++++++---------\n 1 files changed, 9 insertions(+), 9 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 05011b1..acb0c37 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -18,20 +18,20 @@ cd_to_toplevel\n die_conflict () {\n     git diff-index --cached --name-status -r --ignore-submodules HEAD --\n     if [ $(git config --bool --get advice.resolveConflict || echo true) = \"true\" ]; then\n-\tdie \"Pull is not possible because you have unmerged files.\n+\tdie \"$(gettext \"Pull is not possible because you have unmerged files.\n Please, fix them up in the work tree, and then use 'git add/rm <file>'\n-as appropriate to mark resolution, or use 'git commit -a'.\"\n+as appropriate to mark resolution, or use 'git commit -a'.\")\"\n     else\n-\tdie \"Pull is not possible because you have unmerged files.\"\n+\tdie \"$(gettext \"Pull is not possible because you have unmerged files.\")\"\n     fi\n }\n \n die_merge () {\n     if [ $(git config --bool --get advice.resolveConflict || echo true) = \"true\" ]; then\n-\tdie \"You have not concluded your merge (MERGE_HEAD exists).\n-Please, commit your changes before you can merge.\"\n+\tdie \"$(gettext \"You have not concluded your merge (MERGE_HEAD exists).\n+Please, commit your changes before you can merge.\")\"\n     else\n-\tdie \"You have not concluded your merge (MERGE_HEAD exists).\"\n+\tdie \"$(gettext \"You have not concluded your merge (MERGE_HEAD exists).\")\"\n     fi\n }\n \n@@ -186,7 +186,7 @@ test true = \"$rebase\" && {\n \t\t# On an unborn branch\n \t\tif test -f \"$GIT_DIR/index\"\n \t\tthen\n-\t\t\tdie \"updating an unborn branch with changes added to the index\"\n+\t\t\tdie \"$(gettext \"updating an unborn branch with changes added to the index\")\"\n \t\tfi\n \telse\n \t\trequire_clean_work_tree \"pull with rebase\" \"Please commit or stash them.\"\n@@ -242,11 +242,11 @@ case \"$merge_head\" in\n ?*' '?*)\n \tif test -z \"$orig_head\"\n \tthen\n-\t\tdie \"Cannot merge multiple branches into empty head\"\n+\t\tdie \"$(gettext \"Cannot merge multiple branches into empty head\")\"\n \tfi\n \tif test true = \"$rebase\"\n \tthen\n-\t\tdie \"Cannot rebase onto multiple branches\"\n+\t\tdie \"$(gettext \"Cannot rebase onto multiple branches\")\"\n \tfi\n \t;;\n esac\n-- \n1.7.4.4\n"},{"id":"167386","messageId":"1304857280-14773-16-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 15/48] i18n: git-pull eval_gettext + die message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:47Z","receivedAt":"2011-05-08T12:20:47Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-pull.sh |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex acb0c37..06dcd81 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -222,12 +222,12 @@ then\n \techo >&2 \"Warning: commit $orig_head.\"\n \tgit update-index -q --refresh\n \tgit read-tree -u -m \"$orig_head\" \"$curr_head\" ||\n-\t\tdie 'Cannot fast-forward your working tree.\n+\t\tdie \"$(eval_gettext \"Cannot fast-forward your working tree.\n After making sure that you saved anything precious from\n-$ git diff '$orig_head'\n+$ git diff \\$orig_head\n output, run\n $ git reset --hard\n-to recover.'\n+to recover.\")\"\n \n fi\n \n-- \n1.7.4.4\n"},{"id":"167416","messageId":"1304857280-14773-17-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 16/48] i18n: git-pull eval_gettext + warning message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:48Z","receivedAt":"2011-05-08T12:20:48Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-pull.sh |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 06dcd81..79ba9ab 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -217,9 +217,9 @@ then\n \t# $orig_head commit, but we are merging into $curr_head.\n \t# First update the working tree to match $curr_head.\n \n-\techo >&2 \"Warning: fetch updated the current branch head.\"\n-\techo >&2 \"Warning: fast-forwarding your working tree from\"\n-\techo >&2 \"Warning: commit $orig_head.\"\n+\techo >&2 \"$(eval_gettext \"Warning: fetch updated the current branch head.\n+Warning: fast-forwarding your working tree from\n+Warning: commit \\$orig_head.\")\"\n \tgit update-index -q --refresh\n \tgit read-tree -u -m \"$orig_head\" \"$curr_head\" ||\n \t\tdie \"$(eval_gettext \"Cannot fast-forward your working tree.\n-- \n1.7.4.4\n"},{"id":"167414","messageId":"1304857280-14773-18-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 17/48] i18n: git-submodule add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:49Z","receivedAt":"2011-05-08T12:20:49Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh |    1 +\n 1 files changed, 1 insertions(+), 0 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex bf110e9..816ab3d 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -14,6 +14,7 @@ USAGE=\"[--quiet] add [-b branch] [-f|--force] [--reference <repository>] [--] <r\n    or: $dashless [--quiet] sync [--] [<path>...]\"\n OPTIONS_SPEC=\n . git-sh-setup\n+. git-sh-i18n\n . git-parse-remote\n require_work_tree\n \n-- \n1.7.4.4\n"},{"id":"167385","messageId":"1304857280-14773-19-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 18/48] i18n: git-submodule echo + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:50Z","receivedAt":"2011-05-08T12:20:50Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 816ab3d..34c33a9 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -234,7 +234,7 @@ cmd_add()\n \tthen\n \t\tif test -d \"$path\"/.git -o -f \"$path\"/.git\n \t\tthen\n-\t\t\techo \"Adding existing repo at '$path' to the index\"\n+\t\t\techo \"$(eval_gettext \"Adding existing repo at '\\$path' to the index\")\"\n \t\telse\n \t\t\tdie \"'$path' already exists and is not a valid git repo\"\n \t\tfi\n@@ -658,7 +658,7 @@ cmd_summary() {\n \t\t\t\t;; # removed\n \t\t\t*)\n \t\t\t\t# unexpected type\n-\t\t\t\techo >&2 \"unexpected mode $mod_dst\"\n+\t\t\t\techo >&2 \"$(eval_gettext \"unexpected mode \\$mod_dst\")\"\n \t\t\t\tcontinue ;;\n \t\t\tesac\n \t\tfi\n-- \n1.7.4.4\n"},{"id":"167394","messageId":"1304857280-14773-20-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 19/48] i18n: git-submodule say + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:51Z","receivedAt":"2011-05-08T12:20:51Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 34c33a9..52e604a 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -875,7 +875,7 @@ cmd_sync()\n \t\t\t;;\n \t\tesac\n \n-\t\tsay \"Synchronizing submodule url for '$name'\"\n+\t\tsay \"$(eval_gettext \"Synchronizing submodule url for '\\$name'\")\"\n \t\tgit config submodule.\"$name\".url \"$url\"\n \n \t\tif test -e \"$path\"/.git\n-- \n1.7.4.4\n"},{"id":"167392","messageId":"1304857280-14773-21-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 20/48] i18n: git-submodule die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:52Z","receivedAt":"2011-05-08T12:20:52Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh |   38 +++++++++++++++++++-------------------\n 1 files changed, 19 insertions(+), 19 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 52e604a..1c3d4ce 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -35,7 +35,7 @@ resolve_relative_url ()\n {\n \tremote=$(get_default_remote)\n \tremoteurl=$(git config \"remote.$remote.url\") ||\n-\t\tdie \"remote ($remote) does not have a url defined in .git/config\"\n+\t\tdie \"$(eval_gettext \"remote (\\$remote) does not have a url defined in .git/config\")\"\n \turl=\"$1\"\n \tremoteurl=${remoteurl%/}\n \tsep=/\n@@ -53,7 +53,7 @@ resolve_relative_url ()\n \t\t\t\tsep=:\n \t\t\t\t;;\n \t\t\t*)\n-\t\t\t\tdie \"cannot strip one component off url '$remoteurl'\"\n+\t\t\t\tdie \"$(eval_gettext \"cannot strip one component off url '\\$remoteurl'\")\"\n \t\t\t\t;;\n \t\t\tesac\n \t\t\t;;\n@@ -105,7 +105,7 @@ module_name()\n \tname=$( git config -f .gitmodules --get-regexp '^submodule\\..*\\.path$' |\n \t\tsed -n -e 's|^submodule\\.\\(.*\\)\\.path '\"$re\"'$|\\1|p' )\n        test -z \"$name\" &&\n-       die \"No submodule mapping found in .gitmodules for path '$path'\"\n+       die \"$(eval_gettext \"No submodule mapping found in .gitmodules for path '\\$path'\")\"\n        echo \"$name\"\n }\n \n@@ -129,7 +129,7 @@ module_clone()\n \telse\n \t\tgit-clone -n \"$url\" \"$path\"\n \tfi ||\n-\tdie \"Clone of '$url' into submodule path '$path' failed\"\n+\tdie \"$(eval_gettext \"Clone of '\\$url' into submodule path '\\$path' failed\")\"\n }\n \n #\n@@ -202,7 +202,7 @@ cmd_add()\n \t\trealrepo=$repo\n \t\t;;\n \t*)\n-\t\tdie \"repo URL: '$repo' must be absolute or begin with ./|../\"\n+\t\tdie \"$(eval_gettext \"repo URL: '\\$repo' must be absolute or begin with ./|../\")\"\n \t;;\n \tesac\n \n@@ -219,7 +219,7 @@ cmd_add()\n \t\t\ts|/*$||\n \t\t')\n \tgit ls-files --error-unmatch \"$path\" > /dev/null 2>&1 &&\n-\tdie \"'$path' already exists in the index\"\n+\tdie \"$(eval_gettext \"'\\$path' already exists in the index\")\"\n \n \tif test -z \"$force\" && ! git add --dry-run --ignore-missing \"$path\" > /dev/null 2>&1\n \tthen\n@@ -236,7 +236,7 @@ cmd_add()\n \t\tthen\n \t\t\techo \"$(eval_gettext \"Adding existing repo at '\\$path' to the index\")\"\n \t\telse\n-\t\t\tdie \"'$path' already exists and is not a valid git repo\"\n+\t\t\tdie \"$(eval_gettext \"'\\$path' already exists and is not a valid git repo\")\"\n \t\tfi\n \n \t\tcase \"$repo\" in\n@@ -259,16 +259,16 @@ cmd_add()\n \t\t\t'') git checkout -f -q ;;\n \t\t\t?*) git checkout -f -q -B \"$branch\" \"origin/$branch\" ;;\n \t\t\tesac\n-\t\t) || die \"Unable to checkout submodule '$path'\"\n+\t\t) || die \"$(eval_gettext \"Unable to checkout submodule '\\$path'\")\"\n \tfi\n \n \tgit add $force \"$path\" ||\n-\tdie \"Failed to add submodule '$path'\"\n+\tdie \"$(eval_gettext \"Failed to add submodule '\\$path'\")\"\n \n \tgit config -f .gitmodules submodule.\"$path\".path \"$path\" &&\n \tgit config -f .gitmodules submodule.\"$path\".url \"$repo\" &&\n \tgit add --force .gitmodules ||\n-\tdie \"Failed to register submodule '$path'\"\n+\tdie \"$(eval_gettext \"Failed to register submodule '\\$path'\")\"\n }\n \n #\n@@ -318,7 +318,7 @@ cmd_foreach()\n \t\t\t\t\tcmd_foreach \"--recursive\" \"$@\"\n \t\t\t\tfi\n \t\t\t) ||\n-\t\t\tdie \"Stopping at '$path'; script returned non-zero status.\"\n+\t\t\tdie \"$(eval_gettext \"Stopping at '\\$path'; script returned non-zero status.\")\"\n \t\tfi\n \tdone\n }\n@@ -361,7 +361,7 @@ cmd_init()\n \n \t\turl=$(git config -f .gitmodules submodule.\"$name\".url)\n \t\ttest -z \"$url\" &&\n-\t\tdie \"No url found for submodule path '$path' in .gitmodules\"\n+\t\tdie \"$(eval_gettext \"No url found for submodule path '\\$path' in .gitmodules\")\"\n \n \t\t# Possibly a url relative to parent\n \t\tcase \"$url\" in\n@@ -371,14 +371,14 @@ cmd_init()\n \t\tesac\n \n \t\tgit config submodule.\"$name\".url \"$url\" ||\n-\t\tdie \"Failed to register url for submodule path '$path'\"\n+\t\tdie \"$(eval_gettext \"Failed to register url for submodule path '\\$path'\")\"\n \n \t\tupd=\"$(git config -f .gitmodules submodule.\"$name\".update)\"\n \t\ttest -z \"$upd\" ||\n \t\tgit config submodule.\"$name\".update \"$upd\" ||\n-\t\tdie \"Failed to register update mode for submodule path '$path'\"\n+\t\tdie \"$(eval_gettext \"Failed to register update mode for submodule path '\\$path'\")\"\n \n-\t\tsay \"Submodule '$name' ($url) registered for path '$path'\"\n+\t\tsay \"$(eval_gettext \"Submodule '\\$name' (\\$url) registered for path '\\$path'\")\"\n \tdone\n }\n \n@@ -474,7 +474,7 @@ cmd_update()\n \t\telse\n \t\t\tsubsha1=$(clear_local_git_env; cd \"$path\" &&\n \t\t\t\tgit rev-parse --verify HEAD) ||\n-\t\t\tdie \"Unable to find current revision in submodule path '$path'\"\n+\t\t\tdie \"$(eval_gettext \"Unable to find current revision in submodule path '\\$path'\")\"\n \t\tfi\n \n \t\tif ! test -z \"$update\"\n@@ -498,7 +498,7 @@ cmd_update()\n \t\t\t\t(clear_local_git_env; cd \"$path\" &&\n \t\t\t\t\t((rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&\n \t\t\t\t\t test -z \"$rev\") || git-fetch)) ||\n-\t\t\t\tdie \"Unable to fetch in submodule path '$path'\"\n+\t\t\t\tdie \"$(eval_gettext \"Unable to fetch in submodule path '\\$path'\")\"\n \t\t\tfi\n \n \t\t\t# Is this something we just cloned?\n@@ -534,7 +534,7 @@ cmd_update()\n \t\tif test -n \"$recursive\"\n \t\tthen\n \t\t\t(clear_local_git_env; cd \"$path\" && eval cmd_update \"$orig_flags\") ||\n-\t\t\tdie \"Failed to recurse into submodule path '$path'\"\n+\t\t\tdie \"$(eval_gettext \"Failed to recurse into submodule path '\\$path'\")\"\n \t\tfi\n \tdone\n }\n@@ -831,7 +831,7 @@ cmd_status()\n \t\t\t\tcd \"$path\" &&\n \t\t\t\teval cmd_status \"$orig_args\"\n \t\t\t) ||\n-\t\t\tdie \"Failed to recurse into submodule path '$path'\"\n+\t\t\tdie \"$(eval_gettext \"Failed to recurse into submodule path '\\$path'\")\"\n \t\tfi\n \tdone\n }\n-- \n1.7.4.4\n"},{"id":"167387","messageId":"1304857280-14773-22-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 21/48] i18n: git-submodule $update_module say + die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:53Z","receivedAt":"2011-05-08T12:20:53Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize $update_module say and die messages. These messages needed\nto be split up to make them translatable.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh            |   17 ++++++++---------\n t/t7406-submodule-update.sh |    2 +-\n 2 files changed, 9 insertions(+), 10 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 1c3d4ce..ecd0b68 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -511,24 +511,23 @@ cmd_update()\n \t\t\tcase \"$update_module\" in\n \t\t\trebase)\n \t\t\t\tcommand=\"git rebase\"\n-\t\t\t\taction=\"rebase\"\n-\t\t\t\tmsg=\"rebased onto\"\n+\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to rebase '\\$sha1' in submodule path '\\$path'\")\"\n+\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$path': rebased into '\\$sha1'\")\"\n \t\t\t\t;;\n \t\t\tmerge)\n \t\t\t\tcommand=\"git merge\"\n-\t\t\t\taction=\"merge\"\n-\t\t\t\tmsg=\"merged in\"\n+\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to merge '\\$sha1' in submodule path '\\$path'\")\"\n+\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$path': merged in '\\$sha1'\")\"\n \t\t\t\t;;\n \t\t\t*)\n \t\t\t\tcommand=\"git checkout $subforce -q\"\n-\t\t\t\taction=\"checkout\"\n-\t\t\t\tmsg=\"checked out\"\n+\t\t\t\tdie_msg=\"$(eval_gettext \"Unable to checkout '\\$sha1' in submodule path '\\$path'\")\"\n+\t\t\t\tsay_msg=\"$(eval_gettext \"Submodule path '\\$path': checked out '\\$sha1'\")\"\n \t\t\t\t;;\n \t\t\tesac\n \n-\t\t\t(clear_local_git_env; cd \"$path\" && $command \"$sha1\") ||\n-\t\t\tdie \"Unable to $action '$sha1' in submodule path '$path'\"\n-\t\t\tsay \"Submodule path '$path': $msg '$sha1'\"\n+\t\t\t(clear_local_git_env; cd \"$path\" && $command \"$sha1\") || die $die_msg\n+\t\t\tsay $say_msg\n \t\tfi\n \n \t\tif test -n \"$recursive\"\ndiff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh\nindex 4f16fcc..60e33be 100755\n--- a/t/t7406-submodule-update.sh\n+++ b/t/t7406-submodule-update.sh\n@@ -90,7 +90,7 @@ test_expect_success 'submodule update does not fetch already present commits' '\n \t(cd super &&\n \t  git submodule update > ../actual 2> ../actual.err\n \t) &&\n-\ttest_cmp expected actual &&\n+\ttest_i18ncmp expected actual &&\n \t! test -s actual.err\n '\n \n-- \n1.7.4.4\n"},{"id":"167389","messageId":"1304857280-14773-23-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 22/48] i18n: git-submodule \"cached cannot be used\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:54Z","receivedAt":"2011-05-08T12:20:54Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the \"--cached cannot be used with --files\" message. Since\nthis message starts with \"--\" we have to pass \"--\" as the first\nargument. This works with both GNU gettext 0.18.1 (as expected), and\nthe gettext(1) on Solaris 10.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex ecd0b68..f0f885c3 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -617,7 +617,7 @@ cmd_summary() {\n \tif [ -n \"$files\" ]\n \tthen\n \t\ttest -n \"$cached\" &&\n-\t\tdie \"--cached cannot be used with --files\"\n+\t\tdie \"$(gettext -- \"--cached cannot be used with --files\")\"\n \t\tdiff_cmd=diff-files\n \t\thead=\n \tfi\n-- \n1.7.4.4\n"},{"id":"167407","messageId":"1304857280-14773-24-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 23/48] i18n: git-submodule \"Submodule change[...]\" messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:55Z","receivedAt":"2011-05-08T12:20:55Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the \"Submodules changed but not updated\" and \"Submodule\nchanges to be committed\" messages. This is explicitly tested for so we\nneed to skip a portion of a test with test_i18ncmp.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh             |    4 ++--\n t/t7401-submodule-summary.sh |    2 +-\n 2 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex f0f885c3..7d2c51d 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -742,9 +742,9 @@ cmd_summary() {\n \tdone |\n \tif test -n \"$for_status\"; then\n \t\tif [ -n \"$files\" ]; then\n-\t\t\techo \"# Submodules changed but not updated:\"\n+\t\t\tgettext \"# Submodules changed but not updated:\"; echo\n \t\telse\n-\t\t\techo \"# Submodule changes to be committed:\"\n+\t\t\tgettext \"# Submodule changes to be committed:\"; echo\n \t\tfi\n \t\techo \"#\"\n \t\tsed -e 's|^|# |' -e 's|^# $|#|'\ndiff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh\nindex 7d7fde0..44ebc45 100755\n--- a/t/t7401-submodule-summary.sh\n+++ b/t/t7401-submodule-summary.sh\n@@ -228,7 +228,7 @@ EOF\n \n test_expect_success '--for-status' \"\n     git submodule summary --for-status HEAD^ >actual &&\n-    test_cmp actual - <<EOF\n+    test_i18ncmp actual - <<EOF\n # Submodule changes to be committed:\n #\n # * sm1 $head6...0000000:\n-- \n1.7.4.4\n"},{"id":"167418","messageId":"1304857280-14773-25-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 24/48] i18n: git-submodule $errmsg messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:56Z","receivedAt":"2011-05-08T12:20:56Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize warning messages stored in the $errmsg variable using\neval_gettext interpolation. This is explicitly tested for so we\nneed to skip a portion of a test with test_i18ncmp.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh             |    6 +++---\n t/t7401-submodule-summary.sh |    2 +-\n 2 files changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 7d2c51d..7bebdf9 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -675,13 +675,13 @@ cmd_summary() {\n \t\ttotal_commits=\n \t\tcase \"$missing_src,$missing_dst\" in\n \t\tt,)\n-\t\t\terrmsg=\"  Warn: $name doesn't contain commit $sha1_src\"\n+\t\t\terrmsg=\"$(eval_gettext \"  Warn: \\$name doesn't contain commit \\$sha1_src\")\"\n \t\t\t;;\n \t\t,t)\n-\t\t\terrmsg=\"  Warn: $name doesn't contain commit $sha1_dst\"\n+\t\t\terrmsg=\"$(eval_gettext \"  Warn: \\$name doesn't contain commit \\$sha1_dst\")\"\n \t\t\t;;\n \t\tt,t)\n-\t\t\terrmsg=\"  Warn: $name doesn't contain commits $sha1_src and $sha1_dst\"\n+\t\t\terrmsg=\"$(eval_gettext \"  Warn: \\$name doesn't contain commits \\$sha1_src and \\$sha1_dst\")\"\n \t\t\t;;\n \t\t*)\n \t\t\terrmsg=\ndiff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh\nindex 44ebc45..cfa6632 100755\n--- a/t/t7401-submodule-summary.sh\n+++ b/t/t7401-submodule-summary.sh\n@@ -162,7 +162,7 @@ test_expect_success 'nonexistent commit' \"\n   Warn: sm1 doesn't contain commit $head4_full\n \n EOF\n-    test_cmp actual expected\n+    test_i18ncmp actual expected\n \"\n \n commit_file\n-- \n1.7.4.4\n"},{"id":"167388","messageId":"1304857280-14773-26-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 25/48] i18n: git-submodule \"Entering [...]\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:57Z","receivedAt":"2011-05-08T12:20:57Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the \"Entering [...]\" message. This is explicitly tested for\nso we need to skip a portion of a test with test_i18ncmp.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh             |    2 +-\n t/t7407-submodule-foreach.sh |    4 ++--\n 2 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 7bebdf9..be63bc2 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -306,7 +306,7 @@ cmd_foreach()\n \tdo\n \t\tif test -e \"$path\"/.git\n \t\tthen\n-\t\t\tsay \"Entering '$prefix$path'\"\n+\t\t\tsay \"$(eval_gettext \"Entering '\\$prefix\\$path'\")\"\n \t\t\tname=$(module_name \"$path\")\n \t\t\t(\n \t\t\t\tprefix=\"$prefix$path/\"\ndiff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh\nindex e5be13c..ae3bd18 100755\n--- a/t/t7407-submodule-foreach.sh\n+++ b/t/t7407-submodule-foreach.sh\n@@ -77,7 +77,7 @@ test_expect_success 'test basic \"submodule foreach\" usage' '\n \t\tgit config foo.bar zar &&\n \t\tgit submodule foreach \"git config --file \\\"\\$toplevel/.git/config\\\" foo.bar\"\n \t) &&\n-\ttest_cmp expect actual\n+\ttest_i18ncmp expect actual\n '\n \n test_expect_success 'setup nested submodules' '\n@@ -158,7 +158,7 @@ test_expect_success 'test messages from \"foreach --recursive\"' '\n \t\tcd clone2 &&\n \t\tgit submodule foreach --recursive \"true\" > ../actual\n \t) &&\n-\ttest_cmp expect actual\n+\ttest_i18ncmp expect actual\n '\n \n cat > expect <<EOF\n-- \n1.7.4.4\n"},{"id":"167422","messageId":"1304857280-14773-27-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 26/48] i18n: git-submodule \"[...] path is ignored\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:58Z","receivedAt":"2011-05-08T12:20:58Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the \"The following path is ignored\" message. This is\nexplicitly tested for so we need to skip a portion of a test with\ntest_i18ncmp.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh           |    6 +++---\n t/t7400-submodule-basic.sh |    2 +-\n 2 files changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex be63bc2..ca33125 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -223,9 +223,9 @@ cmd_add()\n \n \tif test -z \"$force\" && ! git add --dry-run --ignore-missing \"$path\" > /dev/null 2>&1\n \tthen\n-\t\techo >&2 \"The following path is ignored by one of your .gitignore files:\" &&\n-\t\techo >&2 $path &&\n-\t\techo >&2 \"Use -f if you really want to add it.\"\n+\t\techo >&2 \"$(eval_gettext \"The following path is ignored by one of your .gitignore files:\n+\\$path\n+Use -f if you really want to add it.\")\"\n \t\texit 1\n \tfi\n \ndiff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh\nindex 874279e..ea3b445 100755\n--- a/t/t7400-submodule-basic.sh\n+++ b/t/t7400-submodule-basic.sh\n@@ -99,7 +99,7 @@ test_expect_success 'submodule add to .gitignored path fails' '\n \t\tgit add --force .gitignore &&\n \t\tgit commit -m\"Ignore everything\" &&\n \t\t! git submodule add \"$submodurl\" submod >actual 2>&1 &&\n-\t\ttest_cmp expect actual\n+\t\ttest_i18ncmp expect actual\n \t)\n '\n \n-- \n1.7.4.4\n"},{"id":"167396","messageId":"1304857280-14773-28-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 27/48] i18n: git-submodule \"path not initialized\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:20:59Z","receivedAt":"2011-05-08T12:20:59Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the \"Submodule path '$path' not initialized\" message. This\nis explicitly tested for so we need to skip a portion of a test with\ntest_i18grep.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh           |    4 ++--\n t/t7400-submodule-basic.sh |    2 +-\n 2 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex ca33125..b1df660 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -461,8 +461,8 @@ cmd_update()\n \t\t\t# Only mention uninitialized submodules when its\n \t\t\t# path have been specified\n \t\t\ttest \"$#\" != \"0\" &&\n-\t\t\tsay \"Submodule path '$path' not initialized\" &&\n-\t\t\tsay \"Maybe you want to use 'update --init'?\"\n+\t\t\tsay \"$(eval_gettext \"Submodule path '\\$path' not initialized\n+Maybe you want to use 'update --init'?\")\"\n \t\t\tcontinue\n \t\tfi\n \ndiff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh\nindex ea3b445..b2b26b7 100755\n--- a/t/t7400-submodule-basic.sh\n+++ b/t/t7400-submodule-basic.sh\n@@ -357,7 +357,7 @@ test_expect_success 'update --init' '\n \n \tgit submodule update init > update.out &&\n \tcat update.out &&\n-\tgrep \"not initialized\" update.out &&\n+\ttest_i18ngrep \"not initialized\" update.out &&\n \t! test -d init/.git &&\n \n \tgit submodule update --init init &&\n-- \n1.7.4.4\n"},{"id":"167393","messageId":"1304857280-14773-29-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 28/48] i18n: git-submodule \"blob\" and \"submodule\" messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:00Z","receivedAt":"2011-05-08T12:21:00Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the words \"blob\" and \"submodule\", which will be\ninterpolated in a message emitted by git-submodule. This is\nexplicitly tested for so we need to skip a portion of a test with\ntest_i18ncmp.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-submodule.sh             |    6 ++++--\n t/t7401-submodule-summary.sh |    8 ++++----\n 2 files changed, 8 insertions(+), 6 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex b1df660..d720fa3 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -706,11 +706,13 @@ cmd_summary() {\n \t\tsha1_abbr_dst=$(echo $sha1_dst | cut -c1-7)\n \t\tif test $status = T\n \t\tthen\n+\t\t\tblob=\"$(gettext \"blob\")\"\n+\t\t\tsubmodule=\"$(gettext \"submodule\")\"\n \t\t\tif test $mod_dst = 160000\n \t\t\tthen\n-\t\t\t\techo \"* $name $sha1_abbr_src(blob)->$sha1_abbr_dst(submodule)$total_commits:\"\n+\t\t\t\techo \"* $name $sha1_abbr_src($blob)->$sha1_abbr_dst($submodule)$total_commits:\"\n \t\t\telse\n-\t\t\t\techo \"* $name $sha1_abbr_src(submodule)->$sha1_abbr_dst(blob)$total_commits:\"\n+\t\t\t\techo \"* $name $sha1_abbr_src($submodule)->$sha1_abbr_dst($blob)$total_commits:\"\n \t\t\tfi\n \t\telse\n \t\t\techo \"* $name $sha1_abbr_src...$sha1_abbr_dst$total_commits:\"\ndiff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh\nindex cfa6632..30b429e 100755\n--- a/t/t7401-submodule-summary.sh\n+++ b/t/t7401-submodule-summary.sh\n@@ -128,7 +128,7 @@ test_expect_success 'typechanged submodule(submodule->blob), --cached' \"\n   < Add foo5\n \n EOF\n-\ttest_cmp actual expected\n+\ttest_i18ncmp actual expected\n \"\n \n test_expect_success 'typechanged submodule(submodule->blob), --files' \"\n@@ -138,7 +138,7 @@ test_expect_success 'typechanged submodule(submodule->blob), --files' \"\n   > Add foo5\n \n EOF\n-    test_cmp actual expected\n+    test_i18ncmp actual expected\n \"\n \n rm -rf sm1 &&\n@@ -149,7 +149,7 @@ test_expect_success 'typechanged submodule(submodule->blob)' \"\n * sm1 $head4(submodule)->$head5(blob):\n \n EOF\n-    test_cmp actual expected\n+    test_i18ncmp actual expected\n \"\n \n rm -f sm1 &&\n@@ -173,7 +173,7 @@ test_expect_success 'typechanged submodule(blob->submodule)' \"\n   > Add foo7\n \n EOF\n-    test_cmp expected actual\n+    test_i18ncmp expected actual\n \"\n \n commit_file sm1 &&\n-- \n1.7.4.4\n"},{"id":"167390","messageId":"1304857280-14773-30-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 29/48] i18n: git-stash add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:01Z","receivedAt":"2011-05-08T12:21:01Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |    1 +\n 1 files changed, 1 insertions(+), 0 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex 0a94036..1ad380a 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -14,6 +14,7 @@ SUBDIRECTORY_OK=Yes\n OPTIONS_SPEC=\n START_DIR=`pwd`\n . git-sh-setup\n+. git-sh-i18n\n require_work_tree\n cd_to_toplevel\n \n-- \n1.7.4.4\n"},{"id":"167413","messageId":"1304857280-14773-31-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 30/48] i18n: git-stash echo + gettext message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:02Z","receivedAt":"2011-05-08T12:21:02Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex 1ad380a..f3bb3c5 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -390,7 +390,7 @@ apply_stash () {\n \t\tstatus=$?\n \t\tif test -n \"$INDEX_OPTION\"\n \t\tthen\n-\t\t\techo >&2 'Index was not unstashed.'\n+\t\t\techo >&2 \"$(gettext \"Index was not unstashed.\")\"\n \t\tfi\n \t\texit $status\n \tfi\n-- \n1.7.4.4\n"},{"id":"167415","messageId":"1304857280-14773-32-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 31/48] i18n: git-stash say + gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:03Z","receivedAt":"2011-05-08T12:21:03Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex f3bb3c5..cf22c90 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -168,7 +168,7 @@ save_stash () {\n \tgit update-index -q --refresh\n \tif no_changes\n \tthen\n-\t\tsay 'No local changes to save'\n+\t\tsay \"$(gettext \"No local changes to save\")\"\n \t\texit 0\n \tfi\n \ttest -f \"$GIT_DIR/logs/$ref_stash\" ||\n@@ -485,7 +485,7 @@ branch)\n \tcase $# in\n \t0)\n \t\tsave_stash &&\n-\t\tsay '(To restore them type \"git stash apply\")'\n+\t\tsay \"$(gettext \"(To restore them type \\\"git stash apply\\\")\")\"\n \t\t;;\n \t*)\n \t\tusage\n-- \n1.7.4.4\n"},{"id":"167397","messageId":"1304857280-14773-33-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 32/48] i18n: git-stash die + gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:04Z","receivedAt":"2011-05-08T12:21:04Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |   36 ++++++++++++++++++------------------\n 1 files changed, 18 insertions(+), 18 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex cf22c90..bd394fd 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -40,7 +40,7 @@ no_changes () {\n clear_stash () {\n \tif test $# != 0\n \tthen\n-\t\tdie \"git stash clear with parameters is unimplemented\"\n+\t\tdie \"$(gettext \"git stash clear with parameters is unimplemented\")\"\n \tfi\n \tif current=$(git rev-parse --verify $ref_stash 2>/dev/null)\n \tthen\n@@ -62,7 +62,7 @@ create_stash () {\n \tthen\n \t\thead=$(git rev-list --oneline -n 1 HEAD --)\n \telse\n-\t\tdie \"You do not have the initial commit yet\"\n+\t\tdie \"$(gettext \"You do not have the initial commit yet\")\"\n \tfi\n \n \tif branch=$(git symbolic-ref -q HEAD)\n@@ -77,7 +77,7 @@ create_stash () {\n \ti_tree=$(git write-tree) &&\n \ti_commit=$(printf 'index on %s\\n' \"$msg\" |\n \t\tgit commit-tree $i_tree -p $b_commit) ||\n-\t\tdie \"Cannot save the current index state\"\n+\t\tdie \"$(gettext \"Cannot save the current index state\")\"\n \n \tif test -z \"$patch_mode\"\n \tthen\n@@ -91,7 +91,7 @@ create_stash () {\n \t\t\tgit write-tree &&\n \t\t\trm -f \"$TMPindex\"\n \t\t) ) ||\n-\t\t\tdie \"Cannot save the current worktree state\"\n+\t\t\tdie \"$(gettext \"Cannot save the current worktree state\")\"\n \n \telse\n \n@@ -104,14 +104,14 @@ create_stash () {\n \n \t\t# state of the working tree\n \t\tw_tree=$(GIT_INDEX_FILE=\"$TMP-index\" git write-tree) ||\n-\t\tdie \"Cannot save the current worktree state\"\n+\t\tdie \"$(gettext \"Cannot save the current worktree state\")\"\n \n \t\tgit diff-tree -p HEAD $w_tree > \"$TMP-patch\" &&\n \t\ttest -s \"$TMP-patch\" ||\n-\t\tdie \"No changes selected\"\n+\t\tdie \"$(gettext \"No changes selected\")\"\n \n \t\trm -f \"$TMP-index\" ||\n-\t\tdie \"Cannot remove temporary index (can't happen)\"\n+\t\tdie \"$(gettext \"Cannot remove temporary index (can't happen)\")\"\n \n \tfi\n \n@@ -124,7 +124,7 @@ create_stash () {\n \tfi\n \tw_commit=$(printf '%s\\n' \"$stash_msg\" |\n \t\tgit commit-tree $w_tree -p $b_commit -p $i_commit) ||\n-\t\tdie \"Cannot record working tree state\"\n+\t\tdie \"$(gettext \"Cannot record working tree state\")\"\n }\n \n save_stash () {\n@@ -172,7 +172,7 @@ save_stash () {\n \t\texit 0\n \tfi\n \ttest -f \"$GIT_DIR/logs/$ref_stash\" ||\n-\t\tclear_stash || die \"Cannot initialize stash\"\n+\t\tclear_stash || die \"$(gettext \"Cannot initialize stash\")\"\n \n \tcreate_stash \"$stash_msg\"\n \n@@ -180,7 +180,7 @@ save_stash () {\n \t: >>\"$GIT_DIR/logs/$ref_stash\"\n \n \tgit update-ref -m \"$stash_msg\" $ref_stash $w_commit ||\n-\t\tdie \"Cannot save the current status\"\n+\t\tdie \"$(gettext \"Cannot save the current status\")\"\n \tsay Saved working directory and index state \"$stash_msg\"\n \n \tif test -z \"$patch_mode\"\n@@ -193,7 +193,7 @@ save_stash () {\n \t\tfi\n \telse\n \t\tgit apply -R < \"$TMP-patch\" ||\n-\t\tdie \"Cannot remove worktree changes\"\n+\t\tdie \"$(gettext \"Cannot remove worktree changes\")\"\n \n \t\tif test \"$keep_index\" != \"t\"\n \t\tthen\n@@ -288,7 +288,7 @@ parse_flags_and_rev()\n \n \tcase $# in\n \t\t0)\n-\t\t\thave_stash || die \"No stash found.\"\n+\t\t\thave_stash || die \"$(gettext \"No stash found.\")\"\n \t\t\tset -- ${ref_stash}@{0}\n \t\t;;\n \t\t1)\n@@ -336,11 +336,11 @@ apply_stash () {\n \n \tassert_stash_like \"$@\"\n \n-\tgit update-index -q --refresh || die 'unable to refresh index'\n+\tgit update-index -q --refresh || die \"$(gettext \"unable to refresh index\")\"\n \n \t# current index state\n \tc_tree=$(git write-tree) ||\n-\t\tdie 'Cannot apply a stash in the middle of a merge'\n+\t\tdie \"$(gettext \"Cannot apply a stash in the middle of a merge\")\"\n \n \tunstashed_index_tree=\n \tif test -n \"$INDEX_OPTION\" && test \"$b_tree\" != \"$i_tree\" &&\n@@ -348,9 +348,9 @@ apply_stash () {\n \tthen\n \t\tgit diff-tree --binary $s^2^..$s^2 | git apply --cached\n \t\ttest $? -ne 0 &&\n-\t\t\tdie 'Conflicts in index. Try without --index.'\n+\t\t\tdie \"$(gettext \"Conflicts in index. Try without --index.\")\"\n \t\tunstashed_index_tree=$(git write-tree) ||\n-\t\t\tdie 'Could not save index tree'\n+\t\t\tdie \"$(gettext \"Could not save index tree\")\"\n \t\tgit reset\n \tfi\n \n@@ -376,7 +376,7 @@ apply_stash () {\n \t\t\tgit diff-index --cached --name-only --diff-filter=A $c_tree >\"$a\" &&\n \t\t\tgit read-tree --reset $c_tree &&\n \t\t\tgit update-index --add --stdin <\"$a\" ||\n-\t\t\t\tdie \"Cannot unstage modified files\"\n+\t\t\t\tdie \"$(gettext \"Cannot unstage modified files\")\"\n \t\t\trm -f \"$a\"\n \t\tfi\n \t\tsquelch=\n@@ -414,7 +414,7 @@ drop_stash () {\n }\n \n apply_to_branch () {\n-\ttest -n \"$1\" || die 'No branch name specified'\n+\ttest -n \"$1\" || die \"$(gettext \"No branch name specified\")\"\n \tbranch=$1\n \tshift 1\n \n-- \n1.7.4.4\n"},{"id":"167395","messageId":"1304857280-14773-34-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 33/48] i18n: git-stash die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:05Z","receivedAt":"2011-05-08T12:21:05Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex bd394fd..8388f78 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -295,7 +295,7 @@ parse_flags_and_rev()\n \t\t\t:\n \t\t;;\n \t\t*)\n-\t\t\tdie \"Too many revisions specified: $REV\"\n+\t\t\tdie \"$(eval_gettext \"Too many revisions specified: \\$REV\")\"\n \t\t;;\n \tesac\n \n-- \n1.7.4.4\n"},{"id":"167411","messageId":"1304857280-14773-35-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 34/48] i18n: git-stash die + eval_gettext $* messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:06Z","receivedAt":"2011-05-08T12:21:06Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize messages that used the $* variable. Since it's subroutine\nlocal we have to provide an alias for it for eval_gettext.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |   10 ++++++++--\n 1 files changed, 8 insertions(+), 2 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex 8388f78..e5e9590 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -321,7 +321,10 @@ is_stash_like()\n }\n \n assert_stash_like() {\n-\tis_stash_like \"$@\" || die \"'$*' is not a stash-like commit\"\n+\tis_stash_like \"$@\" || {\n+\t\targs=\"$*\"\n+\t\tdie \"$(eval_gettext \"'\\$args' is not a stash-like commit\")\"\n+\t}\n }\n \n is_stash_ref() {\n@@ -329,7 +332,10 @@ is_stash_ref() {\n }\n \n assert_stash_ref() {\n-\tis_stash_ref \"$@\" || die \"'$*' is not a stash reference\"\n+\tis_stash_ref \"$@\" || {\n+\t\targs=\"$*\"\n+\t\tdie \"$(eval_gettext \"'\\$args' is not a stash reference\")\"\n+\t}\n }\n \n apply_stash () {\n-- \n1.7.4.4\n"},{"id":"167399","messageId":"1304857280-14773-36-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 35/48] i18n: git-stash die + eval_gettext $1 messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:07Z","receivedAt":"2011-05-08T12:21:07Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize a messages that used the $1 variable. Since it's subroutine\nlocal we have to provide an alias for it for eval_gettext.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |    5 ++++-\n 1 files changed, 4 insertions(+), 1 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex e5e9590..bf4868a 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -299,7 +299,10 @@ parse_flags_and_rev()\n \t\t;;\n \tesac\n \n-\tREV=$(git rev-parse --quiet --symbolic --verify $1 2>/dev/null) || die \"$1 is not valid reference\"\n+\tREV=$(git rev-parse --quiet --symbolic --verify $1 2>/dev/null) || {\n+\t\treference=\"$1\"\n+\t\tdie \"$(eval_gettext \"\\$reference is not valid reference\")\"\n+\t}\n \n \ti_commit=$(git rev-parse --quiet --verify $REV^2 2>/dev/null) &&\n \tset -- $(git rev-parse $REV $REV^1 $REV: $REV^1: $REV^2: 2>/dev/null) &&\n-- \n1.7.4.4\n"},{"id":"167400","messageId":"1304857280-14773-37-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 36/48] i18n: git-stash \"unknown option\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:08Z","receivedAt":"2011-05-08T12:21:08Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the \"unknown option for 'stash save'\" message that's shown\non:\n\n    $ git stash save --blah-blah\n    error: unknown option for 'stash save': --blah-blah\n           To provide a message, use git stash save -- '--blah-blah'\n    Usage: git stash list [<options>]\n\nIn a translation the second line should be aligned with the first\none. I've added a TRANSLATORS comment to indicate this.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |   10 ++++++++--\n 1 files changed, 8 insertions(+), 2 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex bf4868a..73fa2ce 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -152,8 +152,14 @@ save_stash () {\n \t\t\tbreak\n \t\t\t;;\n \t\t-*)\n-\t\t\techo \"error: unknown option for 'stash save': $1\"\n-\t\t\techo \"       To provide a message, use git stash save -- '$1'\"\n+\t\t\toption=\"$1\"\n+\t\t\t# TRANSLATORS: $option is an invalid option, like\n+\t\t\t# `--blah-blah'. The 7 spaces at the beginning of the\n+\t\t\t# second line correspond to \"error: \". So you should line\n+\t\t\t# up the second line with however many characters the\n+\t\t\t# translation of \"error: \" takes in your language.\n+\t\t\teval_gettext \"$(\"error: unknown option for 'stash save': \\$option\n+       To provide a message, use git stash save -- '\\$option'\")\"; echo\n \t\t\tusage\n \t\t\t;;\n \t\t*)\n-- \n1.7.4.4\n"},{"id":"167398","messageId":"1304857280-14773-38-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 37/48] i18n: git-stash drop_stash say/die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:09Z","receivedAt":"2011-05-08T12:21:09Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the say/die eval_gettext messages in the drop_stash\nfunction. Since making these translatable would result in a long line\nI've wrapped this into two lines.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-stash.sh |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex 73fa2ce..0b575cf 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -422,7 +422,8 @@ drop_stash () {\n \tassert_stash_ref \"$@\"\n \n \tgit reflog delete --updateref --rewrite \"${REV}\" &&\n-\t\tsay \"Dropped ${REV} ($s)\" || die \"${REV}: Could not drop stash entry\"\n+\t\tsay \"$(eval_gettext \"Dropped \\${REV} (\\$s)\")\" ||\n+\t\tdie \"$(eval_gettext \"\\${REV}: Could not drop stash entry\")\"\n \n \t# clear_stash if we just dropped the last stash entry\n \tgit rev-parse --verify \"$ref_stash@{0}\" > /dev/null 2>&1 || clear_stash\n-- \n1.7.4.4\n"},{"id":"167401","messageId":"1304857280-14773-39-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 38/48] i18n: git-bisect add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:10Z","receivedAt":"2011-05-08T12:21:10Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |    1 +\n 1 files changed, 1 insertions(+), 0 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex 415a8d0..751c733 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -28,6 +28,7 @@ Please use \"git help bisect\" to get the full man page.'\n \n OPTIONS_SPEC=\n . git-sh-setup\n+. git-sh-i18n\n require_work_tree\n \n _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'\n-- \n1.7.4.4\n"},{"id":"167412","messageId":"1304857280-14773-40-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 39/48] i18n: git-bisect gettext + echo message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:11Z","receivedAt":"2011-05-08T12:21:11Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex 751c733..4420b46 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -308,7 +308,7 @@ bisect_visualize() {\n \n bisect_reset() {\n \ttest -s \"$GIT_DIR/BISECT_START\" || {\n-\t\techo \"We are not bisecting.\"\n+\t\tgettext \"We are not bisecting.\"; echo\n \t\treturn\n \t}\n \tcase \"$#\" in\n@@ -414,7 +414,7 @@ bisect_run () {\n       fi\n \n       if sane_grep \"is the first bad commit\" \"$GIT_DIR/BISECT_RUN\" > /dev/null; then\n-\t  echo \"bisect run success\"\n+\t  gettext \"bisect run success\"; echo\n \t  exit 0;\n       fi\n \n-- \n1.7.4.4\n"},{"id":"167417","messageId":"1304857280-14773-41-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 40/48] i18n: git-bisect echo + gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:12Z","receivedAt":"2011-05-08T12:21:12Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex 4420b46..80607dc 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -36,7 +36,7 @@ _x40=\"$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40\"\n \n bisect_autostart() {\n \ttest -s \"$GIT_DIR/BISECT_START\" || {\n-\t\techo >&2 'You need to start by \"git bisect start\"'\n+\t\techo >&2 \"$(gettext \"You need to start by \\\"git bisect start\\\"\")\"\n \t\tif test -t 0\n \t\tthen\n \t\t\techo >&2 -n 'Do you want me to do it for you [Y/n]? '\n@@ -239,7 +239,7 @@ bisect_next_check() {\n \tt,,good)\n \t\t# have bad but not good.  we could bisect although\n \t\t# this is less optimum.\n-\t\techo >&2 'Warning: bisecting only with a bad commit.'\n+\t\techo >&2 \"$(gettext \"Warning: bisecting only with a bad commit.\")\"\n \t\tif test -t 0\n \t\tthen\n \t\t\tprintf >&2 'Are you sure [Y/n]? '\n@@ -403,7 +403,7 @@ bisect_run () {\n \n       if sane_grep \"first bad commit could be any of\" \"$GIT_DIR/BISECT_RUN\" \\\n \t\t> /dev/null; then\n-\t  echo >&2 \"bisect run cannot continue any more\"\n+\t  echo >&2 \"$(gettext \"bisect run cannot continue any more\")\"\n \t  exit $res\n       fi\n \n-- \n1.7.4.4\n"},{"id":"167404","messageId":"1304857280-14773-42-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 41/48] i18n: git-bisect echo + eval_gettext message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:13Z","receivedAt":"2011-05-08T12:21:13Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex 80607dc..e74be9c 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -408,8 +408,8 @@ bisect_run () {\n       fi\n \n       if [ $res -ne 0 ]; then\n-\t  echo >&2 \"bisect run failed:\"\n-\t  echo >&2 \"'bisect_state $state' exited with error code $res\"\n+\t  echo >&2 \"$(eval_gettext \"bisect run failed:\n+'bisect_state \\$state' exited with error code \\$res\")\"\n \t  exit $res\n       fi\n \n-- \n1.7.4.4\n"},{"id":"167408","messageId":"1304857280-14773-43-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 42/48] i18n: git-bisect die + gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:14Z","receivedAt":"2011-05-08T12:21:14Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |   16 ++++++++--------\n 1 files changed, 8 insertions(+), 8 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex e74be9c..ef9af0b 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -58,7 +58,7 @@ bisect_start() {\n \t#\n \thead=$(GIT_DIR=\"$GIT_DIR\" git symbolic-ref -q HEAD) ||\n \thead=$(GIT_DIR=\"$GIT_DIR\" git rev-parse --verify HEAD) ||\n-\tdie \"Bad HEAD - I need a HEAD\"\n+\tdie \"$(gettext \"Bad HEAD - I need a HEAD\")\"\n \n \t#\n \t# Check if we are bisecting.\n@@ -77,11 +77,11 @@ bisect_start() {\n \t\t\t# cogito usage, and cogito users should understand\n \t\t\t# it relates to cg-seek.\n \t\t\t[ -s \"$GIT_DIR/head-name\" ] &&\n-\t\t\t\tdie \"won't bisect on seeked tree\"\n+\t\t\t\tdie \"$(gettext \"won't bisect on seeked tree\")\"\n \t\t\tstart_head=\"${head#refs/heads/}\"\n \t\t\t;;\n \t\t*)\n-\t\t\tdie \"Bad HEAD - strange symbolic ref\"\n+\t\t\tdie \"$(gettext \"Bad HEAD - strange symbolic ref\")\"\n \t\t\t;;\n \t\tesac\n \tfi\n@@ -198,10 +198,10 @@ bisect_state() {\n \tstate=$1\n \tcase \"$#,$state\" in\n \t0,*)\n-\t\tdie \"Please call 'bisect_state' with at least one argument.\" ;;\n+\t\tdie \"$(gettext \"Please call 'bisect_state' with at least one argument.\")\" ;;\n \t1,bad|1,good|1,skip)\n \t\trev=$(git rev-parse --verify HEAD) ||\n-\t\t\tdie \"Bad rev input: HEAD\"\n+\t\t\tdie \"$(gettext \"Bad rev input: HEAD\")\"\n \t\tbisect_write \"$state\" \"$rev\"\n \t\tcheck_expected_revs \"$rev\" ;;\n \t2,bad|*,good|*,skip)\n@@ -216,7 +216,7 @@ bisect_state() {\n \t\teval \"$eval\"\n \t\tcheck_expected_revs \"$@\" ;;\n \t*,bad)\n-\t\tdie \"'git bisect bad' can take only one argument.\" ;;\n+\t\tdie \"$(gettext \"'git bisect bad' can take only one argument.\")\" ;;\n \t*)\n \t\tusage ;;\n \tesac\n@@ -363,7 +363,7 @@ bisect_replay () {\n \t\tgood|bad|skip)\n \t\t\tbisect_write \"$command\" \"$rev\" ;;\n \t\t*)\n-\t\t\tdie \"?? what are you talking about?\" ;;\n+\t\t\tdie \"$(gettext \"?? what are you talking about?\")\" ;;\n \t\tesac\n \tdone <\"$1\"\n \tbisect_auto_next\n@@ -422,7 +422,7 @@ bisect_run () {\n }\n \n bisect_log () {\n-\ttest -s \"$GIT_DIR/BISECT_LOG\" || die \"We are not bisecting.\"\n+\ttest -s \"$GIT_DIR/BISECT_LOG\" || die \"$(gettext \"We are not bisecting.\")\"\n \tcat \"$GIT_DIR/BISECT_LOG\"\n }\n \n-- \n1.7.4.4\n"},{"id":"167403","messageId":"1304857280-14773-44-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 43/48] i18n: git-bisect die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:15Z","receivedAt":"2011-05-08T12:21:15Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |   12 ++++++------\n 1 files changed, 6 insertions(+), 6 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex ef9af0b..2e755cd 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -111,7 +111,7 @@ bisect_start() {\n \t    *)\n \t\trev=$(git rev-parse -q --verify \"$arg^{commit}\") || {\n \t\t    test $has_double_dash -eq 1 &&\n-\t\t        die \"'$arg' does not appear to be a valid revision\"\n+\t\t        die \"$(eval_gettext \"'\\$arg' does not appear to be a valid revision\")\"\n \t\t    break\n \t\t}\n \t\tcase $bad_seen in\n@@ -156,7 +156,7 @@ bisect_write() {\n \tcase \"$state\" in\n \t\tbad)\t\ttag=\"$state\" ;;\n \t\tgood|skip)\ttag=\"$state\"-\"$rev\" ;;\n-\t\t*)\t\tdie \"Bad bisect_write argument: $state\" ;;\n+\t\t*)\t\tdie \"$(eval_gettext \"Bad bisect_write argument: \\$state\")\" ;;\n \tesac\n \tgit update-ref \"refs/bisect/$tag\" \"$rev\" || exit\n \techo \"# $state: $(git show-branch $rev)\" >>\"$GIT_DIR/BISECT_LOG\"\n@@ -184,7 +184,7 @@ bisect_skip() {\n \tdo\n \t    case \"$arg\" in\n             *..*)\n-                revs=$(git rev-list \"$arg\") || die \"Bad rev input: $arg\" ;;\n+                revs=$(git rev-list \"$arg\") || die \"$(eval_gettext \"Bad rev input: \\$arg\")\" ;;\n             *)\n                 revs=$(git rev-parse --sq-quote \"$arg\") ;;\n \t    esac\n@@ -210,7 +210,7 @@ bisect_state() {\n \t\tfor rev in \"$@\"\n \t\tdo\n \t\t\tsha=$(git rev-parse --verify \"$rev^{commit}\") ||\n-\t\t\t\tdie \"Bad rev input: $rev\"\n+\t\t\t\tdie \"$(eval_gettext \"Bad rev input: \\$rev\")\"\n \t\t\teval=\"$eval bisect_write '$state' '$sha'; \"\n \t\tdone\n \t\teval \"$eval\"\n@@ -322,8 +322,8 @@ bisect_reset() {\n \tif git checkout \"$branch\" -- ; then\n \t\tbisect_clean_state\n \telse\n-\t\tdie \"Could not check out original HEAD '$branch'.\" \\\n-\t\t\t\t\"Try 'git bisect reset <commit>'.\"\n+\t\tdie \"$(eval_gettext \"Could not check out original HEAD '\\$branch'.\n+Try 'git bisect reset <commit>'.\")\"\n \tfi\n }\n \n-- \n1.7.4.4\n"},{"id":"167409","messageId":"1304857280-14773-45-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 44/48] i18n: git-bisect bisect_run + $@ messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:16Z","receivedAt":"2011-05-08T12:21:16Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize bisect_run messages that use the $@ variable. Since it's\nsubroutine local we have to provide an alias for it for eval_gettext.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |    7 ++++---\n 1 files changed, 4 insertions(+), 3 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex 2e755cd..d06fa56 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -374,14 +374,15 @@ bisect_run () {\n \n     while true\n     do\n-      echo \"running $@\"\n+      command=\"$@\"\n+      eval_gettext \"running \\$command\"; echo\n       \"$@\"\n       res=$?\n \n       # Check for really bad run error.\n       if [ $res -lt 0 -o $res -ge 128 ]; then\n-\t  echo >&2 \"bisect run failed:\"\n-\t  echo >&2 \"exit code $res from '$@' is < 0 or >= 128\"\n+\t  echo >&2 \"$(eval_gettext \"bisect run failed:\n+exit code \\$res from '\\$command' is < 0 or >= 128\")\"\n \t  exit $res\n       fi\n \n-- \n1.7.4.4\n"},{"id":"167402","messageId":"1304857280-14773-46-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 45/48] i18n: git-bisect bisect_reset + $1 messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:17Z","receivedAt":"2011-05-08T12:21:17Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"ettextize bisect_reset messages that use the $1 variable. Since it's\nsubroutine local we have to provide an alias for it for eval_gettext.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |    6 ++++--\n 1 files changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex d06fa56..7bd78ab 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -313,8 +313,10 @@ bisect_reset() {\n \t}\n \tcase \"$#\" in\n \t0) branch=$(cat \"$GIT_DIR/BISECT_START\") ;;\n-\t1) git rev-parse --quiet --verify \"$1^{commit}\" > /dev/null ||\n-\t       die \"'$1' is not a valid commit\"\n+\t1) git rev-parse --quiet --verify \"$1^{commit}\" > /dev/null || {\n+\t       invalid=\"$1\"\n+\t       die \"$(eval_gettext \"'\\$invalid' is not a valid commit\")\"\n+\t   }\n \t   branch=\"$1\" ;;\n \t*)\n \t    usage ;;\n-- \n1.7.4.4\n"},{"id":"167410","messageId":"1304857280-14773-47-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 46/48] i18n: git-bisect bisect_replay + $1 messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:18Z","receivedAt":"2011-05-08T12:21:18Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize bisect_replay messages that use the $1 variable. Since it's\nsubroutine local we have to provide an alias for it for eval_gettext.\n\nSince I was doing that anyway I've changed all other uses of $1\nvariable to use the alias variable for clarity.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |    7 ++++---\n 1 files changed, 4 insertions(+), 3 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex 7bd78ab..e05b53b 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -348,8 +348,9 @@ bisect_clean_state() {\n }\n \n bisect_replay () {\n-\ttest \"$#\" -eq 1 || die \"No logfile given\"\n-\ttest -r \"$1\" || die \"cannot read $1 for replaying\"\n+\tfile=\"$1\"\n+\ttest \"$#\" -eq 1 || die \"$(gettext \"No logfile given\")\"\n+\ttest -r \"$file\" || die \"$(eval_gettext \"cannot read \\$file for replaying\")\"\n \tbisect_reset\n \twhile read git bisect command rev\n \tdo\n@@ -367,7 +368,7 @@ bisect_replay () {\n \t\t*)\n \t\t\tdie \"$(gettext \"?? what are you talking about?\")\" ;;\n \t\tesac\n-\tdone <\"$1\"\n+\tdone <\"$file\"\n \tbisect_auto_next\n }\n \n-- \n1.7.4.4\n"},{"id":"167405","messageId":"1304857280-14773-48-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 47/48] i18n: git-bisect [Y/n] messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:19Z","receivedAt":"2011-05-08T12:21:19Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the [Y/n] questions git-bisect presents, and leave a note\nin a TRANSLATORS comment explaining that translators have to preserve\na mention of the Y/n characters since the program will expect them,\nand not their localized equivalents.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |   10 ++++++++--\n 1 files changed, 8 insertions(+), 2 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex e05b53b..9bc18fe 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -39,7 +39,10 @@ bisect_autostart() {\n \t\techo >&2 \"$(gettext \"You need to start by \\\"git bisect start\\\"\")\"\n \t\tif test -t 0\n \t\tthen\n-\t\t\techo >&2 -n 'Do you want me to do it for you [Y/n]? '\n+\t\t\t# TRANSLATORS: Make sure to include [Y] and [n] in your\n+\t\t\t# translation. The program will only accept English input\n+\t\t\t# at this point.\n+\t\t\techo >&2 -n \"$(gettext \"Do you want me to do it for you [Y/n]? \")\"\n \t\t\tread yesno\n \t\t\tcase \"$yesno\" in\n \t\t\t[Nn]*)\n@@ -242,7 +245,10 @@ bisect_next_check() {\n \t\techo >&2 \"$(gettext \"Warning: bisecting only with a bad commit.\")\"\n \t\tif test -t 0\n \t\tthen\n-\t\t\tprintf >&2 'Are you sure [Y/n]? '\n+\t\t\t# TRANSLATORS: Make sure to include [Y] and [n] in your\n+\t\t\t# translation. The program will only accept English input\n+\t\t\t# at this point.\n+\t\t\tprintf >&2 \"$(gettext \"Are you sure [Y/n]? \")\"\n \t\t\tread yesno\n \t\t\tcase \"$yesno\" in [Nn]*) exit 1 ;; esac\n \t\tfi\n-- \n1.7.4.4\n"},{"id":"167406","messageId":"1304857280-14773-49-git-send-email-avarab@gmail.com","threadId":"27299","inReplyTo":"1304857280-14773-1-git-send-email-avarab@gmail.com","subject":"[PATCH 48/48] i18n: git-bisect bisect_next_check \"You need to\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T12:21:20Z","receivedAt":"2011-05-08T12:21:20Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the \"You need to start by\" message in\nbisect_next_check. This message assembled English output by hand so it\nneeded to be split up to make it translatable.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-bisect.sh |   19 ++++++++++---------\n 1 files changed, 10 insertions(+), 9 deletions(-)\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex 9bc18fe..2b17615 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -255,15 +255,16 @@ bisect_next_check() {\n \t\t: bisect without good...\n \t\t;;\n \t*)\n-\t\tTHEN=''\n-\t\ttest -s \"$GIT_DIR/BISECT_START\" || {\n-\t\t\techo >&2 'You need to start by \"git bisect start\".'\n-\t\t\tTHEN='then '\n-\t\t}\n-\t\techo >&2 'You '$THEN'need to give me at least one good' \\\n-\t\t\t'and one bad revisions.'\n-\t\techo >&2 '(You can use \"git bisect bad\" and' \\\n-\t\t\t'\"git bisect good\" for that.)'\n+\n+\t\tif test -s \"$GIT_DIR/BISECT_START\"\n+\t\tthen\n+\t\t\techo >&2 \"$(gettext \"You need to give me at least one good and one bad revisions.\n+(You can use \\\"git bisect bad\\\" and \\\"git bisect good\\\" for that.)\")\"\n+\t\telse\n+\t\t\techo >&2 \"$(gettext \"You need to start by \\\"git bisect start\\\".\n+You then need to give me at least one good and one bad revisions.\n+(You can use \\\"git bisect bad\\\" and \\\"git bisect good\\\" for that.)\")\"\n+\t\tfi\n \t\texit 1 ;;\n \tesac\n }\n-- \n1.7.4.4\n"},{"id":"167427","messageId":"20110508152948.GB11604@jakstys.lt","threadId":"27299","inReplyTo":"1304857280-14773-37-git-send-email-avarab@gmail.com","subject":"Re: [PATCH 36/48] i18n: git-stash \"unknown option\" message","fromName":"Motiejus Jakštys","fromEmail":"desired.mta@gmail.com","sentAt":"2011-05-08T15:29:49Z","receivedAt":"2011-05-08T15:29:49Z","isPatch":true,"sender":{"key":"desired.mta@gmail.com","avatar":"https://gravatar.com/avatar/5d7d88e7b672acebe3472e92baccb5f933fbd282b6131e22e32d96e5818b5b38?d=mp&s=160"},"body":"On Sun, May 08, 2011 at 12:21:08PM +0000, Ævar Arnfjörð Bjarmason wrote:\n> Gettextize the \"unknown option for 'stash save'\" message that's shown\n> on:\n> \n>     $ git stash save --blah-blah\n>     error: unknown option for 'stash save': --blah-blah\n>            To provide a message, use git stash save -- '--blah-blah'\n>     Usage: git stash list [<options>]\n> \n> In a translation the second line should be aligned with the first\n> one. I've added a TRANSLATORS comment to indicate this.\n\nI think the commit message should be included to the message for the\ntranslators. Like this:\n\n> \n> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n> ---\n>  git-stash.sh |   10 ++++++++--\n>  1 files changed, 8 insertions(+), 2 deletions(-)\n> \n> diff --git a/git-stash.sh b/git-stash.sh\n> index bf4868a..73fa2ce 100755\n> --- a/git-stash.sh\n> +++ b/git-stash.sh\n> @@ -152,8 +152,14 @@ save_stash () {\n>  \t\t\tbreak\n>  \t\t\t;;\n>  \t\t-*)\n> -\t\t\techo \"error: unknown option for 'stash save': $1\"\n> -\t\t\techo \"       To provide a message, use git stash save -- '$1'\"\n> +\t\t\toption=\"$1\"\n> +\t\t\t# TRANSLATORS: $option is an invalid option, like\n> +\t\t\t# `--blah-blah'. The 7 spaces at the beginning of the\n> +\t\t\t# second line correspond to \"error: \". So you should line\n> +\t\t\t# up the second line with however many characters the\n> +\t\t\t# translation of \"error: \" takes in your language. In other\n> +         # words, second line should be aligned with the first one.\n> +\t\t\teval_gettext \"$(\"error: unknown option for 'stash save': \\$option\n> +       To provide a message, use git stash save -- '\\$option'\")\"; echo\n>  \t\t\tusage\n>  \t\t\t;;\n>  \t\t*)\n> -- \n> 1.7.4.4\n\nMotiejus\n"},{"id":"167430","messageId":"20110508165254.GA20654@pcpool00.mathematik.uni-freiburg.de","threadId":"27299","inReplyTo":"1304857280-14773-17-git-send-email-avarab@gmail.com","subject":"Re: [PATCH 16/48] i18n: git-pull eval_gettext + warning message","fromName":"Bernhard R. Link","fromEmail":"brl+ccmadness@pcpool00.mathematik.uni-freiburg.de","sentAt":"2011-05-08T16:52:54Z","receivedAt":"2011-05-08T16:52:54Z","isPatch":true,"sender":{"key":"brl+ccmadness@pcpool00.mathematik.uni-freiburg.de","avatar":null},"body":"* Ævar Arnfjörð Bjarmason <avarab@gmail.com> [110508 14:23]:\n> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n> ---\n>  git-pull.sh |    6 +++---\n>  1 files changed, 3 insertions(+), 3 deletions(-)\n> \n> diff --git a/git-pull.sh b/git-pull.sh\n> index 06dcd81..79ba9ab 100755\n> --- a/git-pull.sh\n> +++ b/git-pull.sh\n> @@ -217,9 +217,9 @@ then\n>  \t# $orig_head commit, but we are merging into $curr_head.\n>  \t# First update the working tree to match $curr_head.\n>  \n> -\techo >&2 \"Warning: fetch updated the current branch head.\"\n> -\techo >&2 \"Warning: fast-forwarding your working tree from\"\n> -\techo >&2 \"Warning: commit $orig_head.\"\n> +\techo >&2 \"$(eval_gettext \"Warning: fetch updated the current branch head.\n> +Warning: fast-forwarding your working tree from\n> +Warning: commit \\$orig_head.\")\"\n\necho \"$(...)\"\n\nsounds quite wasteful and harder to read than necessary.\nThe same also happens in later patches.\n"},{"id":"167445","messageId":"7v1v09rlmt.fsf@alter.siamese.dyndns.org","threadId":"27299","inReplyTo":"20110508165254.GA20654@pcpool00.mathematik.uni-freiburg.de","subject":"Re: [PATCH 16/48] i18n: git-pull eval_gettext + warning message","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-05-08T20:19:06Z","receivedAt":"2011-05-08T20:19:06Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Bernhard R. Link\"  <brl+ccmadness@pcpool00.mathematik.uni-freiburg.de>\nwrites:\n\n>> +\techo >&2 \"$(eval_gettext \"Warning: fetch updated the current branch head.\n>> +Warning: fast-forwarding your working tree from\n>> +Warning: commit \\$orig_head.\")\"\n>\n> echo \"$(...)\"\n>\n> sounds quite wasteful and harder to read than necessary.\n> The same also happens in later patches.\n\nA very good point.  Just letting eval_gettext write out to >&2 should be\nboth sufficient and inifinitely more readable.\n"},{"id":"167453","messageId":"BANLkTimfcECUpjEntfbmHc9MOenNy1RPWA@mail.gmail.com","threadId":"27299","inReplyTo":"20110508152948.GB11604@jakstys.lt","subject":"Re: [PATCH 36/48] i18n: git-stash \"unknown option\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-08T21:38:55Z","receivedAt":"2011-05-08T21:38:55Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Sun, May 8, 2011 at 17:29, Motiejus Jakštys <desired.mta@gmail.com> wrote:\n> I think the commit message should be included to the message for the\n> translators. Like this:\n\nGood suggestion. Will do so in the next iteration.\n"},{"id":"167709","messageId":"4DCB9592.2090503@viscovery.net","threadId":"27299","inReplyTo":"1304857280-14773-21-git-send-email-avarab@gmail.com","subject":"Re: [PATCH 20/48] i18n: git-submodule die + eval_gettext messages","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2011-05-12T08:08:50Z","receivedAt":"2011-05-12T08:08:50Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 5/8/2011 14:20, schrieb Ævar Arnfjörð Bjarmason:\n> -\t\tsay \"Submodule '$name' ($url) registered for path '$path'\"\n> +\t\tsay \"$(eval_gettext \"Submodule '\\$name' (\\$url) registered for path '\\$path'\")\"\n\nOn Windows, we have a problem with messages like this (and many others)\nthat reference $path. eval_gettext has to export 'path', but on Windows\nenvironment variables are case-insensitive. In the substitution, this\nhappens to pick the value of 'PATH' rather than of 'path'... Can you do\nsomething about this?\n\nOf course, the problem is not limited to 'path' at all, but it is a\nprominent example discovered by the test suite.\n\n-- Hannes\n"},{"id":"167732","messageId":"BANLkTik98wsBvoHNtausLBw0F1FqdDhAuQ@mail.gmail.com","threadId":"27299","inReplyTo":"4DCB9592.2090503@viscovery.net","subject":"Re: [PATCH 20/48] i18n: git-submodule die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-12T13:48:22Z","receivedAt":"2011-05-12T13:48:22Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Thu, May 12, 2011 at 10:08, Johannes Sixt <j.sixt@viscovery.net> wrote:\n> Am 5/8/2011 14:20, schrieb Ævar Arnfjörð Bjarmason:\n>> -             say \"Submodule '$name' ($url) registered for path '$path'\"\n>> +             say \"$(eval_gettext \"Submodule '\\$name' (\\$url) registered for path '\\$path'\")\"\n>\n> On Windows, we have a problem with messages like this (and many others)\n> that reference $path. eval_gettext has to export 'path', but on Windows\n> environment variables are case-insensitive. In the substitution, this\n> happens to pick the value of 'PATH' rather than of 'path'... Can you do\n> something about this?\n>\n> Of course, the problem is not limited to 'path' at all, but it is a\n> prominent example discovered by the test suite.\n\nI didn't know Windows had that limitation. We can easily work around\nit by just renaming $path to something else (e.g. $filepath).\n\nSince we do:\n\n    export PATH $(git sh-i18n--envsubst --variables \"$1\");\n\nI assume this problem only occurs with variables that match\n/^path$/i. Or are there other problems on Windows?\n\nI don't have a Windows machine, and I'm not about to buy a license. So\ngetting the output of the failing test suite would be very useful if\nthis happens for variables other than $path.\n\nIf it's only $path I'll just change it to something else and include\nthat change in v2 of the series.\n"},{"id":"167733","messageId":"4DCBECB5.5050502@viscovery.net","threadId":"27299","inReplyTo":"BANLkTik98wsBvoHNtausLBw0F1FqdDhAuQ@mail.gmail.com","subject":"Re: [PATCH 20/48] i18n: git-submodule die + eval_gettext messages","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2011-05-12T14:20:37Z","receivedAt":"2011-05-12T14:20:37Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 5/12/2011 15:48, schrieb Ævar Arnfjörð Bjarmason:\n> On Thu, May 12, 2011 at 10:08, Johannes Sixt <j.sixt@viscovery.net> wrote:\n>> Am 5/8/2011 14:20, schrieb Ævar Arnfjörð Bjarmason:\n>>> -             say \"Submodule '$name' ($url) registered for path '$path'\"\n>>> +             say \"$(eval_gettext \"Submodule '\\$name' (\\$url) registered for path '\\$path'\")\"\n>>\n>> On Windows, we have a problem with messages like this (and many others)\n>> that reference $path. eval_gettext has to export 'path', but on Windows\n>> environment variables are case-insensitive. In the substitution, this\n>> happens to pick the value of 'PATH' rather than of 'path'... Can you do\n>> something about this?\n>>\n>> Of course, the problem is not limited to 'path' at all, but it is a\n>> prominent example discovered by the test suite.\n> \n> I didn't know Windows had that limitation. We can easily work around\n> it by just renaming $path to something else (e.g. $filepath).\n> \n> Since we do:\n> \n>     export PATH $(git sh-i18n--envsubst --variables \"$1\");\n> \n> I assume this problem only occurs with variables that match\n> /^path$/i. Or are there other problems on Windows?\n\nIt is *not* limited to PATH. There can be other variables in the\nenvironment that are the same name as some that are exported in this\nstatement. Here's a brief test:\n\n--- 8< ---\n$ cat git-test\n#!/bin/sh\n\n. git-sh-setup\n. git-sh-i18n\n\nAppData=myappdata\nusername=myUserName\nproMPT=myprompt\n\necho \"$(eval_gettext \"AppData: '\\$AppData'\nusername: \\$username\nproMPT: \\$proMPT\npath: '\\$path'\")\"\n\n$ git --exec-path=. test\nAppData: 'C:\\Dokumente und Einstellungen\\jsixt\\Anwendungsdaten'\nusername: jsixt\nproMPT: $P$G\npath:\n'd:/Src/mingw-git/.;d:\\Src\\mingw-git;d:\\Src\\mingw-git\\;d:\\Src\\mingw-git;...snip...;.'\n--- 8< ---\n\nParticularly PROMPT and USERNAME appear regularly in the environment and\nare rather generic names likely to be used in scripts as (non-exported)\nvariables. For exposition, these are the environment variables that I use\nin production:\n\nALLUSERSPROFILE\nAPPDATA\nCLIENTNAME\nCommonProgramFiles\nCOMPUTERNAME\nComSpec\nFP_NO_HOST_CHECK\nGIT_EDITOR\nHOME\nHOMEDRIVE\nHOMEPATH\nLESS\nLOGONSERVER\nMSYSDIR\nNUMBER_OF_PROCESSORS\nOS\nOS_ROOTDIR\nOS_TMPDIR\nPath\nPATHEXT\nPROCESSOR_ARCHITECTURE\nPROCESSOR_IDENTIFIER\nPROCESSOR_LEVEL\nPROCESSOR_REVISION\nProgramFiles\nPROMPT\nSESSIONNAME\nSystemDrive\nSystemRoot\nTEMP\nTERM\nTMP\nUSERDOMAIN\nUSERNAME\nUSERPROFILE\nVS100COMNTOOLS\nVS90COMNTOOLS\nwindir\nWXWIN\n\n-- Hannes\n"},{"id":"167772","messageId":"BANLkTikM-FaArEA8QTy_MB9cODzwV_ER_g@mail.gmail.com","threadId":"27299","inReplyTo":"4DCBECB5.5050502@viscovery.net","subject":"Re: [PATCH 20/48] i18n: git-submodule die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-13T08:21:26Z","receivedAt":"2011-05-13T08:21:26Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Thu, May 12, 2011 at 16:20, Johannes Sixt <j.sixt@viscovery.net> wrote:\n> Am 5/12/2011 15:48, schrieb Ævar Arnfjörð Bjarmason:\n>> On Thu, May 12, 2011 at 10:08, Johannes Sixt <j.sixt@viscovery.net> wrote:\n>>> Am 5/8/2011 14:20, schrieb Ævar Arnfjörð Bjarmason:\n>>>> -             say \"Submodule '$name' ($url) registered for path '$path'\"\n>>>> +             say \"$(eval_gettext \"Submodule '\\$name' (\\$url) registered for path '\\$path'\")\"\n>>>\n>>> On Windows, we have a problem with messages like this (and many others)\n>>> that reference $path. eval_gettext has to export 'path', but on Windows\n>>> environment variables are case-insensitive. In the substitution, this\n>>> happens to pick the value of 'PATH' rather than of 'path'... Can you do\n>>> something about this?\n>>>\n>>> Of course, the problem is not limited to 'path' at all, but it is a\n>>> prominent example discovered by the test suite.\n>>\n>> I didn't know Windows had that limitation. We can easily work around\n>> it by just renaming $path to something else (e.g. $filepath).\n>>\n>> Since we do:\n>>\n>>     export PATH $(git sh-i18n--envsubst --variables \"$1\");\n>>\n>> I assume this problem only occurs with variables that match\n>> /^path$/i. Or are there other problems on Windows?\n>\n> It is *not* limited to PATH. There can be other variables in the\n> environment that are the same name as some that are exported in this\n> statement. Here's a brief test:\n>\n> --- 8< ---\n> $ cat git-test\n> #!/bin/sh\n>\n> . git-sh-setup\n> . git-sh-i18n\n>\n> AppData=myappdata\n> username=myUserName\n> proMPT=myprompt\n>\n> echo \"$(eval_gettext \"AppData: '\\$AppData'\n> username: \\$username\n> proMPT: \\$proMPT\n> path: '\\$path'\")\"\n>\n> $ git --exec-path=. test\n> AppData: 'C:\\Dokumente und Einstellungen\\jsixt\\Anwendungsdaten'\n> username: jsixt\n> proMPT: $P$G\n> path:\n> 'd:/Src/mingw-git/.;d:\\Src\\mingw-git;d:\\Src\\mingw-git\\;d:\\Src\\mingw-git;...snip...;.'\n> --- 8< ---\n\nThat's interesting. I thought that the problem would only be with\nPATH, since we'd clobber the other environment variables when we do\nthe export in git-sh-i18n.\n\nBut evidently not, but I don't quite grok why.\n\nAnyway, this behavior seems un-POSIX compliant, and I'd been assuming\nthat our shell scripts were POSIX shellscripts when I wrote this.\n\nBut if we want to make this work on Windows I guess we can change\nthings like $path and $repo to $windows_me_harder_path and\n$windows_me_harder_repo.\n"},{"id":"167774","messageId":"BANLkTim0VZ6-xbgZC0K=HXfVMaWehJ0pBA@mail.gmail.com","threadId":"27299","inReplyTo":"BANLkTikM-FaArEA8QTy_MB9cODzwV_ER_g@mail.gmail.com","subject":"Re: [PATCH 20/48] i18n: git-submodule die + eval_gettext messages","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2011-05-13T09:04:52Z","receivedAt":"2011-05-13T09:04:52Z","isPatch":true,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Fri, May 13, 2011 at 10:21 AM, Ævar Arnfjörð Bjarmason\n<avarab@gmail.com> wrote:\n> On Thu, May 12, 2011 at 16:20, Johannes Sixt <j.sixt@viscovery.net> wrote:\n>> Am 5/12/2011 15:48, schrieb Ævar Arnfjörð Bjarmason:\n>>> On Thu, May 12, 2011 at 10:08, Johannes Sixt <j.sixt@viscovery.net> wrote:\n>>>> Am 5/8/2011 14:20, schrieb Ævar Arnfjörð Bjarmason:\n>>>>> -             say \"Submodule '$name' ($url) registered for path '$path'\"\n>>>>> +             say \"$(eval_gettext \"Submodule '\\$name' (\\$url) registered for path '\\$path'\")\"\n>>>>\n>>>> On Windows, we have a problem with messages like this (and many others)\n>>>> that reference $path. eval_gettext has to export 'path', but on Windows\n>>>> environment variables are case-insensitive. In the substitution, this\n>>>> happens to pick the value of 'PATH' rather than of 'path'... Can you do\n>>>> something about this?\n>>>>\n>>>> Of course, the problem is not limited to 'path' at all, but it is a\n>>>> prominent example discovered by the test suite.\n>>>\n>>> I didn't know Windows had that limitation. We can easily work around\n>>> it by just renaming $path to something else (e.g. $filepath).\n>>>\n>>> Since we do:\n>>>\n>>>     export PATH $(git sh-i18n--envsubst --variables \"$1\");\n>>>\n>>> I assume this problem only occurs with variables that match\n>>> /^path$/i. Or are there other problems on Windows?\n>>\n>> It is *not* limited to PATH. There can be other variables in the\n>> environment that are the same name as some that are exported in this\n>> statement. Here's a brief test:\n>>\n>> --- 8< ---\n>> $ cat git-test\n>> #!/bin/sh\n>>\n>> . git-sh-setup\n>> . git-sh-i18n\n>>\n>> AppData=myappdata\n>> username=myUserName\n>> proMPT=myprompt\n>>\n>> echo \"$(eval_gettext \"AppData: '\\$AppData'\n>> username: \\$username\n>> proMPT: \\$proMPT\n>> path: '\\$path'\")\"\n>>\n>> $ git --exec-path=. test\n>> AppData: 'C:\\Dokumente und Einstellungen\\jsixt\\Anwendungsdaten'\n>> username: jsixt\n>> proMPT: $P$G\n>> path:\n>> 'd:/Src/mingw-git/.;d:\\Src\\mingw-git;d:\\Src\\mingw-git\\;d:\\Src\\mingw-git;...snip...;.'\n>> --- 8< ---\n>\n> That's interesting. I thought that the problem would only be with\n> PATH, since we'd clobber the other environment variables when we do\n> the export in git-sh-i18n.\n>\n> But evidently not, but I don't quite grok why.\n>\n> Anyway, this behavior seems un-POSIX compliant, and I'd been assuming\n> that our shell scripts were POSIX shellscripts when I wrote this.\n\nMay I remind you of the first rule in Documentation/CodingGuidelines?\n\n - Most importantly, we never say \"It's in POSIX; we'll happily\n   ignore your needs should your system not conform to it.\"\n   We live in the real world.\n"},{"id":"167782","messageId":"BANLkTi=QvxfUfmdYv8tmYpfHXWpaKOcFnQ@mail.gmail.com","threadId":"27299","inReplyTo":"BANLkTim0VZ6-xbgZC0K=HXfVMaWehJ0pBA@mail.gmail.com","subject":"Re: [PATCH 20/48] i18n: git-submodule die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-05-13T09:48:25Z","receivedAt":"2011-05-13T09:48:25Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Fri, May 13, 2011 at 11:04, Erik Faye-Lund <kusmabite@gmail.com> wrote:\n> On Fri, May 13, 2011 at 10:21 AM, Ævar Arnfjörð Bjarmason\n>> That's interesting. I thought that the problem would only be with\n>> PATH, since we'd clobber the other environment variables when we do\n>> the export in git-sh-i18n.\n>>\n>> But evidently not, but I don't quite grok why.\n>>\n>> Anyway, this behavior seems un-POSIX compliant, and I'd been assuming\n>> that our shell scripts were POSIX shellscripts when I wrote this.\n>\n> May I remind you of the first rule in Documentation/CodingGuidelines?\n>\n>  - Most importantly, we never say \"It's in POSIX; we'll happily\n>   ignore your needs should your system not conform to it.\"\n>   We live in the real world.\n\nI'm not saying we shouldn't work around it, I'll submit another series\nwhich adds some unique prefix to all the environment variables.\n\nI was just saying that I'd assumed that at least POSIX behavior for\nenvironment variables could be relied upon.\n"}]}