{"thread":{"id":"26979","subject":"[PATCH 00/51] i18n: Shell script translations","startedAt":"2011-04-03T16:45:24Z","lastAt":"2011-04-10T13:04:26Z","messageCount":59,"participants":["Ævar Arnfjörð Bjarmason","Jakub Narebski","Martin von Zweigbergk","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":51},"messages":[{"id":"165007","messageId":"1301849175-1697-1-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":null,"subject":"[PATCH 00/51] i18n: Shell script translations","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:24Z","receivedAt":"2011-04-03T16:45:24Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Following the \"i18n: Shell script translation infrastructure\"\nseries. These are the actual shell script translations. Together these\nseries add up to everything from:\n\n    git://github.com/avar/git.git ab/i18n-sh-only\n\nI'm hoping these two can follow the same pattern into pu/next/master\nas the equivalent C series.\n\nÆvar Arnfjörð Bjarmason (51):\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 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-pull split up \"no candidate\" message\n  i18n: git-pull \"You asked to pull\" message\n  i18n: git-pull \"[...] not currently on a branch\" message\n  i18n: git-pull \"rebase against\" / \"merge with\" messages\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                    |   72 +++++++++++----------\n git-bisect.sh                |   92 +++++++++++++++------------\n git-pull.sh                  |  146 +++++++++++++++++++++++++-----------------\n git-stash.sh                 |   75 +++++++++++++--------\n git-submodule.sh             |   92 ++++++++++++++-------------\n t/t4150-am.sh                |    5 +-\n t/t4151-am-abort.sh          |    2 +-\n t/t7400-submodule-basic.sh   |    4 +-\n t/t7401-submodule-summary.sh |   12 ++--\n t/t7407-submodule-foreach.sh |    4 +-\n 10 files changed, 284 insertions(+), 220 deletions(-)\n\n-- \n1.7.4.1\n"},{"id":"165009","messageId":"1301849175-1697-2-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 01/51] i18n: git-am add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:25Z","receivedAt":"2011-04-03T16:45:25Z","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.1\n"},{"id":"165046","messageId":"1301849175-1697-3-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 02/51] i18n: git-am one-line gettext $msg; echo","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:26Z","receivedAt":"2011-04-03T16:45:26Z","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.1\n"},{"id":"165008","messageId":"1301849175-1697-4-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 03/51] i18n: git-am multi-line getttext $msg; echo","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:27Z","receivedAt":"2011-04-03T16:45:27Z","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.1\n"},{"id":"165010","messageId":"1301849175-1697-5-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 04/51] i18n: git-am eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:28Z","receivedAt":"2011-04-03T16:45:28Z","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.1\n"},{"id":"165058","messageId":"1301849175-1697-6-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 05/51] i18n: git-am echo + gettext message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:29Z","receivedAt":"2011-04-03T16:45:29Z","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.1\n"},{"id":"165011","messageId":"1301849175-1697-7-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 06/51] i18n: git-am die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:30Z","receivedAt":"2011-04-03T16:45:30Z","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.1\n"},{"id":"165055","messageId":"1301849175-1697-8-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 07/51] i18n: git-am cannot_fallback messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:31Z","receivedAt":"2011-04-03T16:45:31Z","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.1\n"},{"id":"165054","messageId":"1301849175-1697-9-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 08/51] i18n: git-am clean_abort messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:32Z","receivedAt":"2011-04-03T16:45:32Z","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.1\n"},{"id":"165047","messageId":"1301849175-1697-10-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 09/51] i18n: git-am \"Apply?\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:33Z","receivedAt":"2011-04-03T16:45:33Z","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.1\n"},{"id":"165014","messageId":"1301849175-1697-11-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 10/51] i18n: git-am core say messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:34Z","receivedAt":"2011-04-03T16:45:34Z","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\nskipped 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       |    5 ++++-\n t/t4151-am-abort.sh |    2 +-\n 3 files changed, 8 insertions(+), 5 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 2c8770b..a15c5cc 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..aa3d4ad 100755\n--- a/t/t4150-am.sh\n+++ b/t/t4150-am.sh\n@@ -464,7 +464,10 @@ test_expect_success 'am newline in subject' '\n \tgit checkout first &&\n \ttest_tick &&\n \tsed -e \"s/second/second \\\\\\n foo/\" patch1 >patchnl &&\n-\tgit am <patchnl >output.out 2>&1 &&\n+\tgit am <patchnl >output.out 2>&1\n+'\n+\n+test_expect_success C_LOCALE_OUTPUT 'output: am newline in subject' '\n \tgrep \"^Applying: second \\\\\\n foo$\" output.out\n '\n \ndiff --git a/t/t4151-am-abort.sh b/t/t4151-am-abort.sh\nindex c95c4cc..b9d8f5e 100755\n--- a/t/t4151-am-abort.sh\n+++ b/t/t4151-am-abort.sh\n@@ -43,7 +43,7 @@ do\n \t\ttest_cmp expect actual\n \t'\n \n-\ttest_expect_success \"am$with3 --skip continue after failed am$with3\" '\n+\ttest_expect_success C_LOCALE_OUTPUT \"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-- \n1.7.4.1\n"},{"id":"165052","messageId":"1301849175-1697-12-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 11/51] i18n: git-am printf(1) message to eval_gettext","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:35Z","receivedAt":"2011-04-03T16:45:35Z","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 a15c5cc..2a42ea2 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.1\n"},{"id":"165012","messageId":"1301849175-1697-13-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 12/51] i18n: git-pull add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:36Z","receivedAt":"2011-04-03T16:45:36Z","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 e31226b..0b623bf 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.1\n"},{"id":"165053","messageId":"1301849175-1697-14-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 13/51] i18n: git-pull die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:37Z","receivedAt":"2011-04-03T16:45:37Z","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 |   19 ++++++++++---------\n 1 files changed, 10 insertions(+), 9 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 0b623bf..b19e097 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@@ -207,9 +207,10 @@ 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\t# XXX: This is an abomination\n \t\trequire_clean_work_tree \"pull with rebase\" \"Please commit or stash them.\"\n \tfi\n \toldremoteref= &&\n@@ -263,11 +264,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.1\n"},{"id":"165015","messageId":"1301849175-1697-15-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 14/51] i18n: git-pull eval_gettext + die message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:38Z","receivedAt":"2011-04-03T16:45:38Z","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 b19e097..36f34d6 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -244,12 +244,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.1\n"},{"id":"165057","messageId":"1301849175-1697-16-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 15/51] i18n: git-pull eval_gettext + warning message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:39Z","receivedAt":"2011-04-03T16:45:39Z","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 36f34d6..e8e534a 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -239,9 +239,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.1\n"},{"id":"165013","messageId":"1301849175-1697-17-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 16/51] i18n: git-pull split up \"no candidate\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:40Z","receivedAt":"2011-04-03T16:45:40Z","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 |   11 ++++++-----\n 1 files changed, 6 insertions(+), 5 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex e8e534a..95b1fb2 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -155,13 +155,14 @@ error_on_no_merge_candidates () {\n \n \tif [ $# -gt 1 ]; then\n \t\tif [ \"$rebase\" = true ]; then\n-\t\t\tprintf \"There is no candidate for rebasing against \"\n+\t\t\tgettext \"There is no candidate for rebasing against among the refs that you just fetched.\n+Generally this means that you provided a wildcard refspec which had no\n+matches on the remote end.\"; echo\n \t\telse\n-\t\t\tprintf \"There are no candidates for merging \"\n+\t\t\tgettext \"There are no candidates for merging against among the refs that you just fetched.\n+Generally this means that you provided a wildcard refspec which had no\n+matches on the remote end.\"; echo\n \t\tfi\n-\t\techo \"among the refs that you just fetched.\"\n-\t\techo \"Generally this means that you provided a wildcard refspec which had no\"\n-\t\techo \"matches on the remote end.\"\n \telif [ $# -gt 0 ] && [ \"$1\" != \"$remote\" ]; then\n \t\techo \"You asked to pull from the remote '$1', but did not specify\"\n \t\techo \"a branch. Because this is not the default configured remote\"\n-- \n1.7.4.1\n"},{"id":"165051","messageId":"1301849175-1697-18-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 17/51] i18n: git-pull \"You asked to pull\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:41Z","receivedAt":"2011-04-03T16:45:41Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the \"You asked to pull\" error message. This message\ninterpolated $1 which won't work with eval_gettext for obvious\nreasons, so I needed to provide an alias for it.\n\nThis also made the message easier to translate, and I added a\nTRANSLATORS comment to make it even easier.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-pull.sh |    9 ++++++---\n 1 files changed, 6 insertions(+), 3 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 95b1fb2..821c48d 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -164,9 +164,12 @@ Generally this means that you provided a wildcard refspec which had no\n matches on the remote end.\"; echo\n \t\tfi\n \telif [ $# -gt 0 ] && [ \"$1\" != \"$remote\" ]; then\n-\t\techo \"You asked to pull from the remote '$1', but did not specify\"\n-\t\techo \"a branch. Because this is not the default configured remote\"\n-\t\techo \"for your current branch, you must specify a branch on the command line.\"\n+\t\trequested_remote=$1\n+\t\t# TRANSLATORS: $requested_remote will be a remote name, like\n+\t\t# \"origin\" or \"avar\"\n+\t\teval_gettext \"You asked to pull from the remote '\\$requested_remote', but did not specify\n+a branch. Because this is not the default configured remote\n+for your current branch, you must specify a branch on the command line.\"; echo\n \telif [ -z \"$curr_branch\" ]; then\n \t\techo \"You are not currently on a branch, so I cannot use any\"\n \t\techo \"'branch.<branchname>.merge' in your configuration file.\"\n-- \n1.7.4.1\n"},{"id":"165056","messageId":"1301849175-1697-19-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 18/51] i18n: git-pull \"[...] not currently on a branch\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:42Z","receivedAt":"2011-04-03T16:45:42Z","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 |   10 +++++-----\n 1 files changed, 5 insertions(+), 5 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 821c48d..14d9eb5 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -171,11 +171,11 @@ matches on the remote end.\"; echo\n a branch. Because this is not the default configured remote\n for your current branch, you must specify a branch on the command line.\"; echo\n \telif [ -z \"$curr_branch\" ]; then\n-\t\techo \"You are not currently on a branch, so I cannot use any\"\n-\t\techo \"'branch.<branchname>.merge' in your configuration file.\"\n-\t\techo \"Please specify which remote branch you want to use on the command\"\n-\t\techo \"line and try again (e.g. 'git pull <repository> <refspec>').\"\n-\t\techo \"See git-pull(1) for details.\"\n+\t\tgettext \"You are not currently on a branch, so I cannot use any\n+'branch.<branchname>.merge' in your configuration file.\n+Please specify which remote branch you want to use on the command\n+line and try again (e.g. 'git pull <repository> <refspec>').\n+See git-pull(1) for details.\"; echo\n \telif [ -z \"$upstream\" ]; then\n \t\techo \"You asked me to pull without telling me which branch you\"\n \t\techo \"want to $op_type $op_prep, and 'branch.${curr_branch}.merge' in\"\n-- \n1.7.4.1\n"},{"id":"165017","messageId":"1301849175-1697-20-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 19/51] i18n: git-pull \"rebase against\" / \"merge with\" messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:43Z","receivedAt":"2011-04-03T16:45:43Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Gettextize the two messages that used \"rebase against\" and \"merge\nwith\". Split them into two depending on whether we are rebasing or not.\n\nThis results in some duplication, but makes it much easier for\ntranslators to translate these messages.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n git-pull.sh |   84 ++++++++++++++++++++++++++++++++++++----------------------\n 1 files changed, 52 insertions(+), 32 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 14d9eb5..ea87ac7 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -140,15 +140,6 @@ error_on_no_merge_candidates () {\n \t\tesac\n \tdone\n \n-\tif test true = \"$rebase\"\n-\tthen\n-\t\top_type=rebase\n-\t\top_prep=against\n-\telse\n-\t\top_type=merge\n-\t\top_prep=with\n-\tfi\n-\n \tcurr_branch=${curr_branch#refs/heads/}\n \tupstream=$(git config \"branch.$curr_branch.merge\")\n \tremote=$(git config \"branch.$curr_branch.remote\")\n@@ -177,30 +168,59 @@ Please specify which remote branch you want to use on the command\n line and try again (e.g. 'git pull <repository> <refspec>').\n See git-pull(1) for details.\"; echo\n \telif [ -z \"$upstream\" ]; then\n-\t\techo \"You asked me to pull without telling me which branch you\"\n-\t\techo \"want to $op_type $op_prep, and 'branch.${curr_branch}.merge' in\"\n-\t\techo \"your configuration file does not tell me, either. Please\"\n-\t\techo \"specify which branch you want to use on the command line and\"\n-\t\techo \"try again (e.g. 'git pull <repository> <refspec>').\"\n-\t\techo \"See git-pull(1) for details.\"\n-\t\techo\n-\t\techo \"If you often $op_type $op_prep the same branch, you may want to\"\n-\t\techo \"use something like the following in your configuration file:\"\n-\t\techo\n-\t\techo \"    [branch \\\"${curr_branch}\\\"]\"\n-\t\techo \"    remote = <nickname>\"\n-\t\techo \"    merge = <remote-ref>\"\n-\t\ttest rebase = \"$op_type\" &&\n-\t\t\techo \"    rebase = true\"\n-\t\techo\n-\t\techo \"    [remote \\\"<nickname>\\\"]\"\n-\t\techo \"    url = <url>\"\n-\t\techo \"    fetch = <refspec>\"\n-\t\techo\n-\t\techo \"See git-config(1) for details.\"\n+\t\tif test true = \"$rebase\"\n+\t\tthen\n+\t\t\teval_gettext \"You asked me to pull without telling me which branch you\n+want to rebase against, and 'branch.\\${curr_branch}.merge' in\n+your configuration file does not tell me, either. Please\n+specify which branch you want to use on the command line and\n+try again (e.g. 'git pull <repository> <refspec>').\n+See git-pull(1) for details.\n+\n+If you often rebase against the same branch, you may want to\n+use something like the following in your configuration file:\n+\n+    [branch \\\"\\${curr_branch}\\\"]\n+    remote = <nickname>\n+    merge = <remote-ref>\n+    rebase = true\n+\n+    [remote \\\"<nickname>\\\"]\n+    url = <url>\n+    fetch = <refspec>\n+\n+See git-config(1) for details.\"; echo\n+\t\telse\n+\t\t\teval_gettext \"You asked me to pull without telling me which branch you\n+want to merge with, and 'branch.\\${curr_branch}.merge' in\n+your configuration file does not tell me, either. Please\n+specify which branch you want to use on the command line and\n+try again (e.g. 'git pull <repository> <refspec>').\n+See git-pull(1) for details.\n+\n+If you often merge with the same branch, you may want to\n+use something like the following in your configuration file:\n+\n+    [branch \\\"\\${curr_branch}\\\"]\n+    remote = <nickname>\n+    merge = <remote-ref>\n+\n+    [remote \\\"<nickname>\\\"]\n+    url = <url>\n+    fetch = <refspec>\n+\n+See git-config(1) for details.\"; echo\n+\t\tfi\n \telse\n-\t\techo \"Your configuration specifies to $op_type $op_prep the ref '${upstream#refs/heads/}'\"\n-\t\techo \"from the remote, but no such ref was fetched.\"\n+\t\tupstream_branch=\"${upstream#refs/heads/}\"\n+\t\tif test true = \"$rebase\"\n+\t\tthen\n+\t\t\teval_gettext \"Your configuration specifies to rebase against the ref '\\$upstream_branch'\n+from the remote, but no such ref was fetched.\"; echo\n+\t\telse\n+\t\t\teval_gettext \"Your configuration specifies to merge with the ref '\\$upstream_branch'\n+from the remote, but no such ref was fetched.\"; echo\n+\t\tfi\n \tfi\n \texit 1\n }\n-- \n1.7.4.1\n"},{"id":"165049","messageId":"1301849175-1697-21-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 20/51] i18n: git-submodule add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:44Z","receivedAt":"2011-04-03T16:45:44Z","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 3a13397..1d128f0 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.1\n"},{"id":"165020","messageId":"1301849175-1697-22-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 21/51] i18n: git-submodule echo + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:45Z","receivedAt":"2011-04-03T16:45: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-submodule.sh |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 1d128f0..7a10a01 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -217,7 +217,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@@ -629,7 +629,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.1\n"},{"id":"165050","messageId":"1301849175-1697-23-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 22/51] i18n: git-submodule say + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:46Z","receivedAt":"2011-04-03T16:45: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-submodule.sh |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex 7a10a01..ba80b22 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -841,7 +841,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.1\n"},{"id":"165019","messageId":"1301849175-1697-24-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 23/51] i18n: git-submodule die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:47Z","receivedAt":"2011-04-03T16:45: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-submodule.sh |   38 +++++++++++++++++++-------------------\n 1 files changed, 19 insertions(+), 19 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex ba80b22..dcdda53 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@@ -88,7 +88,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@@ -112,7 +112,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@@ -185,7 +185,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@@ -202,7 +202,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@@ -219,7 +219,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@@ -242,16 +242,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@@ -301,7 +301,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@@ -344,7 +344,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@@ -354,14 +354,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@@ -449,7 +449,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@@ -469,7 +469,7 @@ cmd_update()\n \t\t\tthen\n \t\t\t\t(clear_local_git_env; cd \"$path\" &&\n \t\t\t\t\tgit-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@@ -505,7 +505,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@@ -797,7 +797,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.1\n"},{"id":"165048","messageId":"1301849175-1697-25-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 24/51] i18n: git-submodule $update_module say + die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:48Z","receivedAt":"2011-04-03T16:45:48Z","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 1 files changed, 8 insertions(+), 9 deletions(-)\n\ndiff --git a/git-submodule.sh b/git-submodule.sh\nindex dcdda53..c35fab0 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -482,24 +482,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 rebase '\\$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 $force -q\"\n-\t\t\t\taction=\"checkout\"\n-\t\t\t\tmsg=\"checked out\"\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': 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\"\n-- \n1.7.4.1\n"},{"id":"165018","messageId":"1301849175-1697-26-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 25/51] i18n: git-submodule \"cached cannot be used\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:49Z","receivedAt":"2011-04-03T16:45:49Z","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 c35fab0..28523b7 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -588,7 +588,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.1\n"},{"id":"165043","messageId":"1301849175-1697-27-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 26/51] i18n: git-submodule \"Submodule change[...]\" messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:50Z","receivedAt":"2011-04-03T16:45:50Z","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 some tests with C_LOCALE_OUTPUT.\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 28523b7..5fe29a2 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -713,9 +713,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..efd220b 100755\n--- a/t/t7401-submodule-summary.sh\n+++ b/t/t7401-submodule-summary.sh\n@@ -226,7 +226,7 @@ EOF\n     test_cmp expected actual\n \"\n \n-test_expect_success '--for-status' \"\n+test_expect_success C_LOCALE_OUTPUT '--for-status' \"\n     git submodule summary --for-status HEAD^ >actual &&\n     test_cmp actual - <<EOF\n # Submodule changes to be committed:\n-- \n1.7.4.1\n"},{"id":"165016","messageId":"1301849175-1697-28-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 27/51] i18n: git-submodule $errmsg messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:51Z","receivedAt":"2011-04-03T16:45:51Z","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 need\nto skip some tests with C_LOCALE_OUTPUT.\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 5fe29a2..b6c9a5b 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -646,13 +646,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 efd220b..1b703fb 100755\n--- a/t/t7401-submodule-summary.sh\n+++ b/t/t7401-submodule-summary.sh\n@@ -155,7 +155,7 @@ EOF\n rm -f sm1 &&\n test_create_repo sm1 &&\n head6=$(add_file sm1 foo6 foo7)\n-test_expect_success 'nonexistent commit' \"\n+test_expect_success C_LOCALE_OUTPUT 'nonexistent commit' \"\n     git submodule summary >actual &&\n     cat >expected <<-EOF &&\n * sm1 $head4...$head6:\n-- \n1.7.4.1\n"},{"id":"165045","messageId":"1301849175-1697-29-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 28/51] i18n: git-submodule \"Entering [...]\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:52Z","receivedAt":"2011-04-03T16:45:52Z","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 some tests with C_LOCALE_OUTPUT.\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 b6c9a5b..fceacf8 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -289,7 +289,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..4aa2d34 100755\n--- a/t/t7407-submodule-foreach.sh\n+++ b/t/t7407-submodule-foreach.sh\n@@ -68,7 +68,7 @@ Entering 'sub3'\n $pwd/clone-foo3-sub3-$sub3sha1\n EOF\n \n-test_expect_success 'test basic \"submodule foreach\" usage' '\n+test_expect_success C_LOCALE_OUTPUT 'test basic \"submodule foreach\" usage' '\n \tgit clone super clone &&\n \t(\n \t\tcd clone &&\n@@ -153,7 +153,7 @@ Entering 'sub2'\n Entering 'sub3'\n EOF\n \n-test_expect_success 'test messages from \"foreach --recursive\"' '\n+test_expect_success C_LOCALE_OUTPUT 'test messages from \"foreach --recursive\"' '\n \t(\n \t\tcd clone2 &&\n \t\tgit submodule foreach --recursive \"true\" > ../actual\n-- \n1.7.4.1\n"},{"id":"165022","messageId":"1301849175-1697-30-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 29/51] i18n: git-submodule \"[...] path is ignored\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:53Z","receivedAt":"2011-04-03T16:45:53Z","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 some tests with\nC_LOCALE_OUTPUT.\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 fceacf8..43a10e2 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -206,9 +206,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..1911688 100755\n--- a/t/t7400-submodule-basic.sh\n+++ b/t/t7400-submodule-basic.sh\n@@ -86,7 +86,7 @@ test_expect_success 'submodule add' '\n \ttest_cmp empty untracked\n '\n \n-test_expect_success 'submodule add to .gitignored path fails' '\n+test_expect_success C_LOCALE_OUTPUT 'submodule add to .gitignored path fails' '\n \t(\n \t\tcd addtest-ignore &&\n \t\tcat <<-\\EOF >expect &&\n-- \n1.7.4.1\n"},{"id":"165044","messageId":"1301849175-1697-31-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 30/51] i18n: git-submodule \"path not initialized\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:54Z","receivedAt":"2011-04-03T16:45:54Z","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 some tests with\nC_LOCALE_OUTPUT.\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 43a10e2..bc24b2f 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -436,8 +436,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 1911688..eded7e9 100755\n--- a/t/t7400-submodule-basic.sh\n+++ b/t/t7400-submodule-basic.sh\n@@ -349,7 +349,7 @@ test_expect_success 'apply submodule diff' '\n \ttest_cmp empty staged\n '\n \n-test_expect_success 'update --init' '\n+test_expect_success C_LOCALE_OUTPUT 'update --init' '\n \tmv init init2 &&\n \tgit config -f .gitmodules submodule.example.url \"$(pwd)/init2\" &&\n \tgit config --remove-section submodule.example &&\n-- \n1.7.4.1\n"},{"id":"165024","messageId":"1301849175-1697-32-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 31/51] i18n: git-submodule \"blob\" and \"submodule\" messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:55Z","receivedAt":"2011-04-03T16:45:55Z","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 some tests with\nC_LOCALE_OUTPUT.\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 bc24b2f..aced079 100755\n--- a/git-submodule.sh\n+++ b/git-submodule.sh\n@@ -677,11 +677,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 1b703fb..548473b 100755\n--- a/t/t7401-submodule-summary.sh\n+++ b/t/t7401-submodule-summary.sh\n@@ -121,7 +121,7 @@ git add sm1 &&\n rm -f sm1 &&\n mv sm1-bak sm1\n \n-test_expect_success 'typechanged submodule(submodule->blob), --cached' \"\n+test_expect_success C_LOCALE_OUTPUT 'typechanged submodule(submodule->blob), --cached' \"\n     git submodule summary --cached >actual &&\n     cat >expected <<-EOF &&\n * sm1 $head4(submodule)->$head5(blob) (3):\n@@ -131,7 +131,7 @@ EOF\n \ttest_cmp actual expected\n \"\n \n-test_expect_success 'typechanged submodule(submodule->blob), --files' \"\n+test_expect_success C_LOCALE_OUTPUT 'typechanged submodule(submodule->blob), --files' \"\n     git submodule summary --files >actual &&\n     cat >expected <<-EOF &&\n * sm1 $head5(blob)->$head4(submodule) (3):\n@@ -143,7 +143,7 @@ EOF\n \n rm -rf sm1 &&\n git checkout-index sm1\n-test_expect_success 'typechanged submodule(submodule->blob)' \"\n+test_expect_success C_LOCALE_OUTPUT 'typechanged submodule(submodule->blob)' \"\n     git submodule summary >actual &&\n     cat >expected <<-EOF &&\n * sm1 $head4(submodule)->$head5(blob):\n@@ -166,7 +166,7 @@ EOF\n \"\n \n commit_file\n-test_expect_success 'typechanged submodule(blob->submodule)' \"\n+test_expect_success C_LOCALE_OUTPUT 'typechanged submodule(blob->submodule)' \"\n     git submodule summary >actual &&\n     cat >expected <<-EOF &&\n * sm1 $head5(blob)->$head6(submodule) (2):\n-- \n1.7.4.1\n"},{"id":"165033","messageId":"1301849175-1697-33-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 32/51] i18n: git-stash add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:56Z","receivedAt":"2011-04-03T16:45:56Z","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 a305fb1..ff18364 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.1\n"},{"id":"165025","messageId":"1301849175-1697-34-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 33/51] i18n: git-stash echo + gettext message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:57Z","receivedAt":"2011-04-03T16:45:57Z","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 ff18364..9259f13 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -401,7 +401,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.1\n"},{"id":"165021","messageId":"1301849175-1697-35-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 34/51] i18n: git-stash say + gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:58Z","receivedAt":"2011-04-03T16:45:58Z","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 9259f13..1fe8918 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -167,7 +167,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@@ -496,7 +496,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.1\n"},{"id":"165032","messageId":"1301849175-1697-36-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 35/51] i18n: git-stash die + gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:45:59Z","receivedAt":"2011-04-03T16:45:59Z","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 1fe8918..753ddf2 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@@ -171,7 +171,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@@ -179,7 +179,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@@ -192,7 +192,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 -z \"$keep_index\"\n \t\tthen\n@@ -287,7 +287,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@@ -347,11 +347,11 @@ apply_stash () {\n \n \tgit update-index -q --refresh &&\n \tgit diff-files --quiet --ignore-submodules ||\n-\t\tdie 'Cannot apply to a dirty working tree, please stage your changes'\n+\t\tdie \"$(gettext \"Cannot apply to a dirty working tree, please stage your changes\")\"\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@@ -359,9 +359,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@@ -387,7 +387,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@@ -425,7 +425,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.1\n"},{"id":"165042","messageId":"1301849175-1697-37-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 36/51] i18n: git-stash die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:00Z","receivedAt":"2011-04-03T16:46:00Z","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 753ddf2..06f00ae 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -294,7 +294,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@@ -318,7 +318,7 @@ parse_flags_and_rev()\n \t\t# this condition with a non-zero status code but as of 1.7.2.1 it\n \t\t# it did not. So, we use non-empty stderr output as a proxy for the\n \t\t# condition of interest.\n-\t\ttest -z \"$(git rev-parse \"$REV\" 2>&1 >/dev/null)\" || die \"$REV does not exist in the stash log\"\n+\t\ttest -z \"$(git rev-parse \"$REV\" 2>&1 >/dev/null)\" || die \"$(eval_gettext \"\\$REV does not exist in the stash log\")\"\n \tfi\n \n }\n-- \n1.7.4.1\n"},{"id":"165027","messageId":"1301849175-1697-38-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 37/51] i18n: git-stash die + eval_gettext $* messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:01Z","receivedAt":"2011-04-03T16:46:01Z","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 06f00ae..afe7043 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -330,7 +330,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@@ -338,7 +341,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.1\n"},{"id":"165023","messageId":"1301849175-1697-39-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 38/51] i18n: git-stash die + eval_gettext $1 messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:02Z","receivedAt":"2011-04-03T16:46:02Z","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 afe7043..9ab5ed9 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -298,7 +298,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.1\n"},{"id":"165039","messageId":"1301849175-1697-40-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 39/51] i18n: git-stash \"unknown option\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:03Z","receivedAt":"2011-04-03T16:46:03Z","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 9ab5ed9..0468499 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -151,8 +151,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.1\n"},{"id":"165041","messageId":"1301849175-1697-41-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 40/51] i18n: git-stash drop_stash say/die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:04Z","receivedAt":"2011-04-03T16:46:04Z","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 0468499..5f00bf7 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -433,7 +433,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.1\n"},{"id":"165034","messageId":"1301849175-1697-42-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 41/51] i18n: git-bisect add git-sh-i18n","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:05Z","receivedAt":"2011-04-03T16:46: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-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.1\n"},{"id":"165040","messageId":"1301849175-1697-43-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 42/51] i18n: git-bisect gettext + echo message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:06Z","receivedAt":"2011-04-03T16:46:06Z","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.1\n"},{"id":"165035","messageId":"1301849175-1697-44-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 43/51] i18n: git-bisect echo + gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:07Z","receivedAt":"2011-04-03T16:46:07Z","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.1\n"},{"id":"165028","messageId":"1301849175-1697-45-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 44/51] i18n: git-bisect echo + eval_gettext message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:08Z","receivedAt":"2011-04-03T16:46:08Z","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.1\n"},{"id":"165026","messageId":"1301849175-1697-46-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 45/51] i18n: git-bisect die + gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:09Z","receivedAt":"2011-04-03T16:46:09Z","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.1\n"},{"id":"165030","messageId":"1301849175-1697-47-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 46/51] i18n: git-bisect die + eval_gettext messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:10Z","receivedAt":"2011-04-03T16:46: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 |   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.1\n"},{"id":"165038","messageId":"1301849175-1697-48-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 47/51] i18n: git-bisect bisect_run + $@ messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:11Z","receivedAt":"2011-04-03T16:46:11Z","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.1\n"},{"id":"165029","messageId":"1301849175-1697-49-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 48/51] i18n: git-bisect bisect_reset + $1 messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:12Z","receivedAt":"2011-04-03T16:46:12Z","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.1\n"},{"id":"165031","messageId":"1301849175-1697-50-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 49/51] i18n: git-bisect bisect_replay + $1 messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:13Z","receivedAt":"2011-04-03T16:46:13Z","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.1\n"},{"id":"165036","messageId":"1301849175-1697-51-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 50/51] i18n: git-bisect [Y/n] messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:14Z","receivedAt":"2011-04-03T16:46:14Z","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.1\n"},{"id":"165037","messageId":"1301849175-1697-52-git-send-email-avarab@gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"[PATCH 51/51] i18n: git-bisect bisect_next_check \"You need to\" message","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T16:46:15Z","receivedAt":"2011-04-03T16:46:15Z","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.1\n"},{"id":"165061","messageId":"m3ei5j44wz.fsf@localhost.localdomain","threadId":"26979","inReplyTo":"1301849175-1697-11-git-send-email-avarab@gmail.com","subject":"Re: [PATCH 10/51] i18n: git-am core say messages","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-04-03T17:33:04Z","receivedAt":"2011-04-03T17:33:04Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:\n\n> Make the core git-am messages that use say() translatable. These are\n> visible on almost every git am invocation.\n> \n> There are tests that depend on the \"Applying\" output that need to be\n> skipped along with this translation.\n\n\n> -\tsay \"Applying: $FIRSTLINE\"\n> +\tsay \"$(eval_gettext \"Applying: \\$FIRSTLINE\")\"\n\n> -\t\t\tsay No changes -- Patch already applied.\n> +\t\t\tsay \"$(gettext \"No changes -- Patch already applied.\")\"\n\nI guess that you canot simply make 'say' to do the translation because\none doesn't know if getext or eval_gettext is needed, isn't it?\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"165062","messageId":"alpine.DEB.2.00.1104031314520.25129@debian","threadId":"26979","inReplyTo":"1301849175-1697-20-git-send-email-avarab@gmail.com","subject":"Re: [PATCH 19/51] i18n: git-pull \"rebase against\" / \"merge with\" messages","fromName":"Martin von Zweigbergk","fromEmail":"martin.von.zweigbergk@gmail.com","sentAt":"2011-04-03T17:33:25Z","receivedAt":"2011-04-03T17:33:25Z","isPatch":true,"sender":{"key":"martinvonz@gmail.com","avatar":"https://avatars.githubusercontent.com/u/891642?v=4"},"body":"On Sun, 3 Apr 2011, ?var Arnfj?r? Bjarmason wrote:\n\n> Gettextize the two messages that used \"rebase against\" and \"merge\n> with\". Split them into two depending on whether we are rebasing or not.\n\nI think this conflicts a lot with my 15a147e (rebase: use @{upstream}\nif no upstream specified, 2011-02-09), which factored out most or all\nof the code touched in your patch a reused it in git-rebase.sh. I\nremember thinking about i18n at some point while extracting that code,\nbut then I forgot about it. I have inlcluded the relevant part of that\npatch below for your reference. As you can see, I added another\nvariable $cmd that is either \"pull\" or \"rebase\". It is used in plain\ntext because the command matches the verb in English, but I guess that\nmay not be ideal in all translations. Maybe we extract some parts of\nthe message, so we don't have to make four nearly identical copies of\nthe message... I don't have any concrete suggestion right now, though.\n\n+error_on_missing_default_upstream () {\n+\tcmd=\"$1\"\n+\top_type=\"$2\"\n+\top_prep=\"$3\"\n+\texample=\"$4\"\n+\tbranch_name=$(git symbolic-ref -q HEAD)\n+\tif test -z \"$branch_name\"\n+\tthen\n+\t\techo \"You are not currently on a branch, so I cannot use any\n+'branch.<branchname>.merge' in your configuration file.\n+Please specify which branch you want to $op_type $op_prep on the command\n+line and try again (e.g. '$example').\n+See git-${cmd}(1) for details.\"\n+\telse\n+\t\techo \"You asked me to $cmd without telling me which branch you\n+want to $op_type $op_prep, and 'branch.${branch_name#refs/heads/}.merge' in\n+your configuration file does not tell me, either. Please\n+specify which branch you want to use on the command line and\n+try again (e.g. '$example').\n+See git-${cmd}(1) for details.\n+\n+If you often $op_type $op_prep the same branch, you may want to\n+use something like the following in your configuration file:\n+    [branch \\\"${branch_name#refs/heads/}\\\"]\n+    remote = <nickname>\n+    merge = <remote-ref>\"\n+\t\ttest rebase = \"$op_type\" &&\n+\t\techo \"    rebase = true\"\n+\t\techo \"\n+    [remote \\\"<nickname>\\\"]\n+    url = <url>\n+    fetch = <refspec>\n+\n+See git-config(1) for details.\"\n+\tfi\n+\texit 1\n+}\n"},{"id":"165063","messageId":"BANLkTinYVRcar0m-d5ZC=7RbputR5AbZ3A@mail.gmail.com","threadId":"26979","inReplyTo":"m3ei5j44wz.fsf@localhost.localdomain","subject":"Re: [PATCH 10/51] i18n: git-am core say messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T17:35:01Z","receivedAt":"2011-04-03T17:35:01Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Sun, Apr 3, 2011 at 19:33, Jakub Narebski <jnareb@gmail.com> wrote:\n> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:\n>\n>> Make the core git-am messages that use say() translatable. These are\n>> visible on almost every git am invocation.\n>>\n>> There are tests that depend on the \"Applying\" output that need to be\n>> skipped along with this translation.\n>\n>\n>> -     say \"Applying: $FIRSTLINE\"\n>> +     say \"$(eval_gettext \"Applying: \\$FIRSTLINE\")\"\n>\n>> -                     say No changes -- Patch already applied.\n>> +                     say \"$(gettext \"No changes -- Patch already applied.\")\"\n>\n> I guess that you canot simply make 'say' to do the translation because\n> one doesn't know if getext or eval_gettext is needed, isn't it?\n\nIndeed, the xgettext() rule couldn't tell the difference. And even if\nwe only used say() for gettext() I'd prefer not to make things more\ncomplex by supporting gettext extraction from our own custom\nfunctions. I'd like to be able to grep for gettext and get all the\ninvocations.\n"},{"id":"165067","messageId":"BANLkTinFT77rGXc08eXGMsucyQ7qkcKTsg@mail.gmail.com","threadId":"26979","inReplyTo":"1301849175-1697-14-git-send-email-avarab@gmail.com","subject":"Re: [PATCH 13/51] i18n: git-pull die messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-03T18:14:12Z","receivedAt":"2011-04-03T18:14:12Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Sun, Apr 3, 2011 at 18:45, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:\n\n> +               # XXX: This is an abomination\n>                require_clean_work_tree \"pull with rebase\" \"Please commit or stash them.\"\n\nI'd forgotten that I'd left that in there.\n\nAnyway, we can just skip translating these for now.\n"},{"id":"165072","messageId":"7vhbafcg00.fsf@alter.siamese.dyndns.org","threadId":"26979","inReplyTo":"1301849175-1697-1-git-send-email-avarab@gmail.com","subject":"Re: [PATCH 00/51] i18n: Shell script translations","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-04-03T19:05:35Z","receivedAt":"2011-04-03T19:05:35Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:\n\n> Following the \"i18n: Shell script translation infrastructure\"\n> series. These are the actual shell script translations. Together these\n> series add up to everything from:\n>\n>     git://github.com/avar/git.git ab/i18n-sh-only\n\nI am obviously not going to queue these patches right at this moment, but\npeople with topics in flight or in their head need to take a look at the\nparts of this series that may overlap with what they are touching, and\nplan to rebase their work when the time comes.\n\nWhat is more urgent at this moment in this cycle is to catch and adjust\nthe fallouts from the merges of topics that started before ab/i18n topic.\nYou caught one in t2019 that didn't mark a test that examines the output\nfor a translatable string with C_LOCALE_OUTPUT (as there was no such thing\nwhen the topic started).\n\nThere may be other similar adjustments that are needed in tests, and also\nI suspect there are messages that are not marked with the _() markers that\ncame from other topics.  Because we shouldn't see too many new messages in\nthe code appearing from now on until 1.7.5 final, this is a perfect time\nto catch and adjust these kinds of issues.\n\nThanks.\n"},{"id":"165094","messageId":"BANLkTimHwSzm7MQ83gOt_OPFvZMn_2ca1g@mail.gmail.com","threadId":"26979","inReplyTo":"alpine.DEB.2.00.1104031314520.25129@debian","subject":"Re: [PATCH 19/51] i18n: git-pull \"rebase against\" / \"merge with\" messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-04T07:39:13Z","receivedAt":"2011-04-04T07:39:13Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Sun, Apr 3, 2011 at 19:33, Martin von Zweigbergk\n<martin.von.zweigbergk@gmail.com> wrote:\n> On Sun, 3 Apr 2011, ?var Arnfj?r? Bjarmason wrote:\n>\n>> Gettextize the two messages that used \"rebase against\" and \"merge\n>> with\". Split them into two depending on whether we are rebasing or not.\n>\n> I think this conflicts a lot with my 15a147e (rebase: use @{upstream}\n> if no upstream specified, 2011-02-09), which factored out most or all\n> of the code touched in your patch a reused it in git-rebase.sh. I\n> remember thinking about i18n at some point while extracting that code,\n> but then I forgot about it. I have inlcluded the relevant part of that\n> patch below for your reference. As you can see, I added another\n> variable $cmd that is either \"pull\" or \"rebase\". It is used in plain\n> text because the command matches the verb in English, but I guess that\n> may not be ideal in all translations. Maybe we extract some parts of\n> the message, so we don't have to make four nearly identical copies of\n> the message... I don't have any concrete suggestion right now, though.\n\nTranslation-wise we'd ideally make Yet Another Copy of almost the same\nmessage. There's really no way around that sort of thing given the\ntools we're using.\n\nHowever we can probably get away with having a variable that\nalternates between \"pull\" and \"rebase\", but I suspect those two words\nwill invoke different grammar rules in some languages, and thus will\nimpact the rest of the message.\n\nSo let's split this up when we resolve this conflict.\n"},{"id":"165544","messageId":"BANLkTikhWpNfbRJDj5TXS9vokuHOnoibzw@mail.gmail.com","threadId":"26979","inReplyTo":"7vhbafcg00.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 00/51] i18n: Shell script translations","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-10T13:04:26Z","receivedAt":"2011-04-10T13:04:26Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Sun, Apr 3, 2011 at 21:05, Junio C Hamano <gitster@pobox.com> wrote:\n> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:\n>\n>> Following the \"i18n: Shell script translation infrastructure\"\n>> series. These are the actual shell script translations. Together these\n>> series add up to everything from:\n>>\n>>     git://github.com/avar/git.git ab/i18n-sh-only\n>\n> I am obviously not going to queue these patches right at this moment, but\n> people with topics in flight or in their head need to take a look at the\n> parts of this series that may overlap with what they are touching, and\n> plan to rebase their work when the time comes.\n\nSo would after 1.7.5 be a good time to submit them?\n\n> What is more urgent at this moment in this cycle is to catch and adjust\n> the fallouts from the merges of topics that started before ab/i18n topic.\n> You caught one in t2019 that didn't mark a test that examines the output\n> for a translatable string with C_LOCALE_OUTPUT (as there was no such thing\n> when the topic started).\n>\n> There may be other similar adjustments that are needed in tests, and also\n> I suspect there are messages that are not marked with the _() markers that\n> came from other topics.  Because we shouldn't see too many new messages in\n> the code appearing from now on until 1.7.5 final, this is a perfect time\n> to catch and adjust these kinds of issues.\n\nI'll try to do this and submit it before 1.7.5.\n"}]}