mirror of
https://github.com/git/git.git
synced 2024-11-23 09:56:28 +08:00
i18n: git-sh-setup.sh: mark strings for translation
Positional arguments, such as $0, $1, etc, need to be stored on shell variables for use in translatable strings, according to gettext manual [1]. Add git-sh-setup.sh to LOCALIZED_SH variable in Makefile to enable extraction of string marked for translation by xgettext. Source git-sh-i18n in git-sh-setup.sh for gettext support. git-sh-setup.sh is a shell library to be sourced by other shell scripts. In order to avoid other scripts from sourcing git-sh-i18n twice, remove line that sources it from them. Not sourcing git-sh-i18n in any script that uses gettext would lead to failure due to, for instance, gettextln not being found. [1] http://www.gnu.org/software/gettext/manual/html_node/Preparing-Shell-Scripts.html Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c9e6ce41da
commit
d323c6b641
4
Makefile
4
Makefile
@ -2062,7 +2062,9 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
|
||||
--keyword=gettextln --keyword=eval_gettextln
|
||||
XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl
|
||||
LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
|
||||
LOCALIZED_SH = $(SCRIPT_SH) git-parse-remote.sh
|
||||
LOCALIZED_SH = $(SCRIPT_SH)
|
||||
LOCALIZED_SH += git-parse-remote.sh
|
||||
LOCALIZED_SH += git-sh-setup.sh
|
||||
LOCALIZED_PERL = $(SCRIPT_PERL)
|
||||
|
||||
ifdef XGETTEXT_INCLUDE_TESTS
|
||||
|
@ -33,7 +33,6 @@ Please use "git help bisect" to get the full man page.'
|
||||
|
||||
OPTIONS_SPEC=
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
|
||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||
|
@ -6,7 +6,6 @@
|
||||
#
|
||||
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
|
||||
LF='
|
||||
'
|
||||
|
@ -45,7 +45,6 @@ skip! skip current patch and continue
|
||||
edit-todo! edit the todo list during an interactive rebase
|
||||
"
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
set_reflog_action rebase
|
||||
require_work_tree_exists
|
||||
cd_to_toplevel
|
||||
|
@ -2,6 +2,9 @@
|
||||
# to set up some variables pointing at the normal git directories and
|
||||
# a few helper shell functions.
|
||||
|
||||
# Source git-sh-i18n for gettext support.
|
||||
. git-sh-i18n
|
||||
|
||||
# Having this variable in your environment would break scripts because
|
||||
# you would cause "cd" to be taken to unexpected places. If you
|
||||
# like CDPATH, define it for your interactive shell sessions without
|
||||
@ -83,16 +86,16 @@ if test -n "$OPTIONS_SPEC"; then
|
||||
else
|
||||
dashless=$(basename -- "$0" | sed -e 's/-/ /')
|
||||
usage() {
|
||||
die "usage: $dashless $USAGE"
|
||||
die "$(eval_gettext "usage: \$dashless \$USAGE")"
|
||||
}
|
||||
|
||||
if [ -z "$LONG_USAGE" ]
|
||||
then
|
||||
LONG_USAGE="usage: $dashless $USAGE"
|
||||
LONG_USAGE="$(eval_gettext "usage: \$dashless \$USAGE")"
|
||||
else
|
||||
LONG_USAGE="usage: $dashless $USAGE
|
||||
LONG_USAGE="$(eval_gettext "usage: \$dashless \$USAGE
|
||||
|
||||
$LONG_USAGE"
|
||||
$LONG_USAGE")"
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
@ -182,7 +185,7 @@ is_bare_repository () {
|
||||
cd_to_toplevel () {
|
||||
cdup=$(git rev-parse --show-toplevel) &&
|
||||
cd "$cdup" || {
|
||||
echo >&2 "Cannot chdir to $cdup, the toplevel of the working tree"
|
||||
gettextln "Cannot chdir to \$cdup, the toplevel of the working tree" >&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
@ -190,13 +193,16 @@ cd_to_toplevel () {
|
||||
require_work_tree_exists () {
|
||||
if test "z$(git rev-parse --is-bare-repository)" != zfalse
|
||||
then
|
||||
die "fatal: $0 cannot be used without a working tree."
|
||||
program_name=$0
|
||||
die "$(gettext "fatal: \$program_name cannot be used without a working tree.")"
|
||||
fi
|
||||
}
|
||||
|
||||
require_work_tree () {
|
||||
test "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = true ||
|
||||
die "fatal: $0 cannot be used without a working tree."
|
||||
test "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = true || {
|
||||
program_name=$0
|
||||
die "$(gettext "fatal: \$program_name cannot be used without a working tree.")"
|
||||
}
|
||||
}
|
||||
|
||||
require_clean_work_tree () {
|
||||
@ -206,24 +212,49 @@ require_clean_work_tree () {
|
||||
|
||||
if ! git diff-files --quiet --ignore-submodules
|
||||
then
|
||||
echo >&2 "Cannot $1: You have unstaged changes."
|
||||
action=$1
|
||||
case "$action" in
|
||||
rebase)
|
||||
gettextln "Cannot rebase: You have unstaged changes." >&2
|
||||
;;
|
||||
"rewrite branches")
|
||||
gettextln "Cannot rewrite branches: You have unstaged changes." >&2
|
||||
;;
|
||||
"pull with rebase")
|
||||
gettextln "Cannot pull with rebase: You have unstaged changes." >&2
|
||||
;;
|
||||
*)
|
||||
eval_gettextln "Cannot \$action: You have unstaged changes." >&2
|
||||
;;
|
||||
esac
|
||||
err=1
|
||||
fi
|
||||
|
||||
if ! git diff-index --cached --quiet --ignore-submodules HEAD --
|
||||
then
|
||||
if [ $err = 0 ]
|
||||
if test $err = 0
|
||||
then
|
||||
echo >&2 "Cannot $1: Your index contains uncommitted changes."
|
||||
action=$1
|
||||
case "$action" in
|
||||
rebase)
|
||||
gettextln "Cannot rebase: Your index contains uncommitted changes." >&2
|
||||
;;
|
||||
"pull with rebase")
|
||||
gettextln "Cannot pull with rebase: Your index contains uncommitted changes." >&2
|
||||
;;
|
||||
*)
|
||||
eval_gettextln "Cannot \$action: Your index contains uncommitted changes." >&2
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo >&2 "Additionally, your index contains uncommitted changes."
|
||||
gettextln "Additionally, your index contains uncommitted changes." >&2
|
||||
fi
|
||||
err=1
|
||||
fi
|
||||
|
||||
if [ $err = 1 ]
|
||||
if test $err = 1
|
||||
then
|
||||
test -n "$2" && echo >&2 "$2"
|
||||
test -n "$2" && echo "$2" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
@ -336,12 +367,12 @@ git_dir_init () {
|
||||
then
|
||||
test -z "$(git rev-parse --show-cdup)" || {
|
||||
exit=$?
|
||||
echo >&2 "You need to run this command from the toplevel of the working tree."
|
||||
gettextln "You need to run this command from the toplevel of the working tree." >&2
|
||||
exit $exit
|
||||
}
|
||||
fi
|
||||
test -n "$GIT_DIR" && GIT_DIR=$(cd "$GIT_DIR" && pwd) || {
|
||||
echo >&2 "Unable to determine absolute path of git directory"
|
||||
gettextln "Unable to determine absolute path of git directory" >&2
|
||||
exit 1
|
||||
}
|
||||
: ${GIT_OBJECT_DIRECTORY="$(git rev-parse --git-path objects)"}
|
||||
|
@ -15,7 +15,6 @@ SUBDIRECTORY_OK=Yes
|
||||
OPTIONS_SPEC=
|
||||
START_DIR=$(pwd)
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
require_work_tree
|
||||
cd_to_toplevel
|
||||
|
||||
|
@ -16,7 +16,6 @@ USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <re
|
||||
OPTIONS_SPEC=
|
||||
SUBDIRECTORY_OK=Yes
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
. git-parse-remote
|
||||
require_work_tree
|
||||
wt_prefix=$(git rev-parse --show-prefix)
|
||||
|
Loading…
Reference in New Issue
Block a user