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

[PATCH 3/4] git-sh-i18n.sh: add GIT_GETTEXT_POISON support

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
May 8, 2011, 12:10 UTC
Message-ID
<1304856659-10672-4-git-send-email-avarab@gmail.com>
In-Reply-To
<1304856659-10672-1-git-send-email-avarab@gmail.com>

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>
---
 git-sh-i18n.sh |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh
index ea05e16..32ca59d 100644
--- a/git-sh-i18n.sh
+++ b/git-sh-i18n.sh
@@ -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"
-	)
-}
-- 
1.7.4.4
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 8 of 13 in “i18n: Add shell script translation infrastructure”
  1. 0/4 i18n: Add shell script translation infrastructureÆvar Arnfjörð Bjarmason, May 8, 2011
  2. 1/4 git-sh-i18n--envsubst: our own envsubst(1) for eval_gettext()Ævar Arnfjörð Bjarmason, May 8, 2011
  3. Junio C HamanoMay 8, 2011
  4. Ævar Arnfjörð BjarmasonMay 8, 2011
  5. Junio C HamanoMay 9, 2011
  6. Ævar Arnfjörð BjarmasonMay 9, 2011
  7. 2/4 git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappersÆvar Arnfjörð Bjarmason, May 8, 2011
  8. 3/4 git-sh-i18n.sh: add GIT_GETTEXT_POISON supportÆvar Arnfjörð Bjarmason, May 8, 2011
  9. 4/4 Makefile: add xgettext target for *.sh filesÆvar Arnfjörð Bjarmason, May 8, 2011
  10. Sverre RabbelierMay 8, 2011
  11. Ævar Arnfjörð BjarmasonMay 8, 2011
  12. Sverre RabbelierMay 8, 2011
  13. Ævar Arnfjörð BjarmasonMay 8, 2011

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

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