aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2011-05-14 13:47:43 +0000
committerJunio C Hamano <gitster@pobox.com>2011-05-14 20:29:11 -0700
commite00cf070a45351e4170b75e016597695d1962a87 (patch)
treea819f35973dc3ccea34ab0b5fbd4cba0824226fe
parentba67aaf2d05d1aa3def2b6eb1dc1d39bdf25bb41 (diff)
downloadgit-e00cf070a45351e4170b75e016597695d1962a87.tar.gz
git-e00cf070a45351e4170b75e016597695d1962a87.tar.xz
git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers
Add a no-op wrapper library for Git's shell scripts. To split up the gettext series I'm first submitting patches to gettextize the source tree before I add any of the Makefile and Shell library changes needed to actually use them. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--.gitignore1
-rw-r--r--Documentation/git-sh-i18n.txt42
-rw-r--r--Makefile1
-rw-r--r--git-sh-i18n.sh17
4 files changed, 61 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 1ccf79746..4bdb83975 100644
--- a/.gitignore
+++ b/.gitignore
@@ -130,6 +130,7 @@
/git-sh-i18n
/git-sh-i18n--envsubst
/git-sh-setup
+/git-sh-i18n
/git-shell
/git-shortlog
/git-show
diff --git a/Documentation/git-sh-i18n.txt b/Documentation/git-sh-i18n.txt
new file mode 100644
index 000000000..3b1f7ac7b
--- /dev/null
+++ b/Documentation/git-sh-i18n.txt
@@ -0,0 +1,42 @@
+git-sh-i18n(1)
+==============
+
+NAME
+----
+git-sh-i18n - Git's i18n setup code for shell scripts
+
+SYNOPSIS
+--------
+'. "$(git --exec-path)/git-sh-i18n"'
+
+DESCRIPTION
+-----------
+
+This is not a command the end user would want to run. Ever.
+This documentation is meant for people who are studying the
+Porcelain-ish scripts and/or are writing new ones.
+
+The 'git sh-i18n scriptlet is designed to be sourced (using
+`.`) by Git's porcelain programs implemented in shell
+script. It provides wrappers for the GNU `gettext` and
+`eval_gettext` functions accessible through the `gettext.sh`
+script, and provides pass-through fallbacks on systems
+without GNU gettext.
+
+FUNCTIONS
+---------
+
+gettext::
+ Currently a dummy fall-through function implemented as a wrapper
+ around `printf(1)`. Will be replaced by a real gettext
+ implementation in a later version.
+
+eval_gettext::
+ Currently a dummy fall-through function implemented as a wrapper
+ around `printf(1)` with variables expanded by the
+ linkgit:git-sh-i18n--envsubst[1] helper. Will be replaced by a
+ real gettext implementation in a later version.
+
+GIT
+---
+Part of the linkgit:git[1] suite
diff --git a/Makefile b/Makefile
index 87c83cb45..83889f378 100644
--- a/Makefile
+++ b/Makefile
@@ -381,6 +381,7 @@ SCRIPT_LIB += git-rebase--am
SCRIPT_LIB += git-rebase--interactive
SCRIPT_LIB += git-rebase--merge
SCRIPT_LIB += git-sh-setup
+SCRIPT_LIB += git-sh-i18n
SCRIPT_PERL += git-add--interactive.perl
SCRIPT_PERL += git-difftool.perl
diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh
new file mode 100644
index 000000000..ea05e16b1
--- /dev/null
+++ b/git-sh-i18n.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# Copyright (c) 2010 Ævar Arnfjörð Bjarmason
+#
+# 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"
+}
+
+eval_gettext () {
+ printf "%s" "$1" | (
+ export PATH $(git sh-i18n--envsubst --variables "$1");
+ git sh-i18n--envsubst "$1"
+ )
+}