git-sh-i18n.sh: add GIT_GETTEXT_POISON support
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Sat, 14 May 2011 13:47:44 +0000 (13:47 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sun, 15 May 2011 03:29:11 +0000 (20:29 -0700)
Change git-sh-i18n.sh to support the GIT_GETTEXT_POISON environment
variable like gettext.c does, this ensures that tests that use
git-sh-i18n.sh will fail under GETTEXT_POISON=YesPlease if they rely
on Git's C locale messages without declaring that they do.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-sh-i18n.sh

index ea05e16b192297cfa137060e3c79bcf661ee88a7..32ca59de82b6a26879128650bf40882f4ed16aa0 100644 (file)
@@ -5,13 +5,25 @@
 # This is a skeleton no-op implementation of gettext for Git. It'll be
 # replaced by something that uses gettext.sh in a future patch series.
 
-gettext () {
-       printf "%s" "$1"
-}
+if test -z "$GIT_GETTEXT_POISON"
+then
+       gettext () {
+               printf "%s" "$1"
+       }
+
+       eval_gettext () {
+               printf "%s" "$1" | (
+                       export PATH $(git sh-i18n--envsubst --variables "$1");
+                       git sh-i18n--envsubst "$1"
+               )
+       }
+else
+       gettext () {
+               printf "%s" "# GETTEXT POISON #"
+       }
+
+       eval_gettext () {
+               printf "%s" "# GETTEXT POISON #"
+       }
+fi
 
-eval_gettext () {
-       printf "%s" "$1" | (
-               export PATH $(git sh-i18n--envsubst --variables "$1");
-               git sh-i18n--envsubst "$1"
-       )
-}