From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Jonathan Nieder" <jrnieder@gmail.com>,
"Johannes Sixt" <j.sixt@viscovery.net>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH 5/6] i18n win32: add git-submodule eval_gettext variable prefix
Date: Wed, 25 May 2011 23:19:53 +0000 [thread overview]
Message-ID: <1306365594-22061-6-git-send-email-avarab@gmail.com> (raw)
In-Reply-To: <1306365594-22061-1-git-send-email-avarab@gmail.com>
Change the eval_gettext() invocations to use the GIT_I18N_VARIABLE_
prefix for variables used in eval_gettext. On Windows environment
variables are case insensitive, so e.g. $PATH clashes with $path. By
using a sufficiently unique prefix we work around that issue.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
git-submodule.sh | 151 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 102 insertions(+), 49 deletions(-)
diff --git a/git-submodule.sh b/git-submodule.sh
index c1d3a5e..dea4f63 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -34,8 +34,10 @@ prefix=
resolve_relative_url ()
{
remote=$(get_default_remote)
- remoteurl=$(git config "remote.$remote.url") ||
- die "$(eval_gettext "remote (\$remote) does not have a url defined in .git/config")"
+ remoteurl=$(git config "remote.$remote.url") || {
+ GIT_I18N_VARIABLE_remote=$(get_default_remote)
+ die "$(eval_gettext "remote (\$GIT_I18N_VARIABLE_remote) does not have a url defined in .git/config")"
+ }
url="$1"
remoteurl=${remoteurl%/}
sep=/
@@ -53,7 +55,8 @@ resolve_relative_url ()
sep=:
;;
*)
- die "$(eval_gettext "cannot strip one component off url '\$remoteurl'")"
+ GIT_I18N_VARIABLE_remoteurl=$remoteurl
+ die "$(eval_gettext "cannot strip one component off url '\$GIT_I18N_VARIABLE_remoteurl'")"
;;
esac
;;
@@ -104,9 +107,12 @@ module_name()
re=$(printf '%s\n' "$1" | sed -e 's/[].[^$\\*]/\\&/g')
name=$( git config -f .gitmodules --get-regexp '^submodule\..*\.path$' |
sed -n -e 's|^submodule\.\(.*\)\.path '"$re"'$|\1|p' )
- test -z "$name" &&
- die "$(eval_gettext "No submodule mapping found in .gitmodules for path '\$path'")"
- echo "$name"
+ if test -z "$name"
+ then
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "No submodule mapping found in .gitmodules for path '\$GIT_I18N_VARIABLE_path'")"
+ fi
+ echo "$name"
}
#
@@ -128,8 +134,11 @@ module_clone()
git-clone "$reference" -n "$url" "$path"
else
git-clone -n "$url" "$path"
- fi ||
- die "$(eval_gettext "Clone of '\$url' into submodule path '\$path' failed")"
+ fi || {
+ GIT_I18N_VARIABLE_url=$url
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Clone of '\$GIT_I18N_VARIABLE_url' into submodule path '\$GIT_I18N_VARIABLE_path' failed")"
+ }
}
#
@@ -202,7 +211,8 @@ cmd_add()
realrepo=$repo
;;
*)
- die "$(eval_gettext "repo URL: '\$repo' must be absolute or begin with ./|../")"
+ GIT_I18N_VARIABLE_repo=$repo
+ die "$(eval_gettext "repo URL: '\$GIT_I18N_VARIABLE_repo' must be absolute or begin with ./|../")"
;;
esac
@@ -218,14 +228,18 @@ cmd_add()
tstart
s|/*$||
')
- git ls-files --error-unmatch "$path" > /dev/null 2>&1 &&
- die "$(eval_gettext "'\$path' already exists in the index")"
+ if git ls-files --error-unmatch "$path" > /dev/null 2>&1
+ then
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "'\$GIT_I18N_VARIABLE_path' already exists in the index")"
+ fi
if test -z "$force" && ! git add --dry-run --ignore-missing "$path" > /dev/null 2>&1
then
(
+ GIT_I18N_VARIABLE_path=$path
eval_gettext "The following path is ignored by one of your .gitignore files:
-\$path
+\$GIT_I18N_VARIABLE_path
Use -f if you really want to add it." &&
echo
) >&2
@@ -237,9 +251,11 @@ Use -f if you really want to add it." &&
then
if test -d "$path"/.git -o -f "$path"/.git
then
- eval_gettext "Adding existing repo at '\$path' to the index"; echo
+ GIT_I18N_VARIABLE_path=$path
+ eval_gettext "Adding existing repo at '\$GIT_I18N_VARIABLE_path' to the index"; echo
else
- die "$(eval_gettext "'\$path' already exists and is not a valid git repo")"
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "'\$GIT_I18N_VARIABLE_path' already exists and is not a valid git repo")"
fi
case "$repo" in
@@ -262,16 +278,22 @@ Use -f if you really want to add it." &&
'') git checkout -f -q ;;
?*) git checkout -f -q -B "$branch" "origin/$branch" ;;
esac
- ) || die "$(eval_gettext "Unable to checkout submodule '\$path'")"
+ ) || {
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Unable to checkout submodule '\$GIT_I18N_VARIABLE_path'")"
+ }
fi
- git add $force "$path" ||
- die "$(eval_gettext "Failed to add submodule '\$path'")"
+ git add $force "$path" || {
+ die "$(eval_gettext "Failed to add submodule '\$GIT_I18N_VARIABLE_path'")"
+ }
git config -f .gitmodules submodule."$path".path "$path" &&
git config -f .gitmodules submodule."$path".url "$repo" &&
- git add --force .gitmodules ||
- die "$(eval_gettext "Failed to register submodule '\$path'")"
+ git add --force .gitmodules || {
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Failed to register submodule '\$GIT_I18N_VARIABLE_path'")"
+ }
}
#
@@ -309,7 +331,9 @@ cmd_foreach()
do
if test -e "$path"/.git
then
- say "$(eval_gettext "Entering '\$prefix\$path'")"
+ GIT_I18N_VARIABLE_prefix=$prefix
+ GIT_I18N_VARIABLE_path=$path
+ say "$(eval_gettext "Entering '\$GIT_I18N_VARIABLE_prefix\$GIT_I18N_VARIABLE_path'")"
name=$(module_name "$path")
(
prefix="$prefix$path/"
@@ -321,7 +345,7 @@ cmd_foreach()
cmd_foreach "--recursive" "$@"
fi
) ||
- die "$(eval_gettext "Stopping at '\$path'; script returned non-zero status.")"
+ die "$(eval_gettext "Stopping at '\$GIT_I18N_VARIABLE_path'; script returned non-zero status.")"
fi
done
}
@@ -363,8 +387,11 @@ cmd_init()
test -z "$url" || continue
url=$(git config -f .gitmodules submodule."$name".url)
- test -z "$url" &&
- die "$(eval_gettext "No url found for submodule path '\$path' in .gitmodules")"
+ if test -z "$url"
+ then
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "No url found for submodule path '\$GIT_I18N_VARIABLE_path' in .gitmodules")"
+ fi
# Possibly a url relative to parent
case "$url" in
@@ -373,15 +400,24 @@ cmd_init()
;;
esac
- git config submodule."$name".url "$url" ||
- die "$(eval_gettext "Failed to register url for submodule path '\$path'")"
+ if ! git config submodule."$name".url "$url"
+ then
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Failed to register url for submodule path '\$GIT_I18N_VARIABLE_path'")"
+ fi
upd="$(git config -f .gitmodules submodule."$name".update)"
test -z "$upd" ||
- git config submodule."$name".update "$upd" ||
- die "$(eval_gettext "Failed to register update mode for submodule path '\$path'")"
+ if ! git config submodule."$name".update "$upd"
+ then
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Failed to register update mode for submodule path '\$GIT_I18N_VARIABLE_path'")"
+ fi
- say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$path'")"
+ GIT_I18N_VARIABLE_name=$name
+ GIT_I18N_VARIABLE_url=$url
+ GIT_I18N_VARIABLE_path=$path
+ say "$(eval_gettext "Submodule '\$GIT_I18N_VARIABLE_name' (\$GIT_I18N_VARIABLE_url) registered for path '\$GIT_I18N_VARIABLE_path'")"
done
}
@@ -463,9 +499,11 @@ cmd_update()
then
# Only mention uninitialized submodules when its
# path have been specified
- test "$#" != "0" &&
- say "$(eval_gettext "Submodule path '\$path' not initialized
+ if test "$#" != "0"
+ then
+ say "$(eval_gettext "Submodule path '\$GIT_I18N_VARIABLE_path' not initialized
Maybe you want to use 'update --init'?")"
+ fi
continue
fi
@@ -476,8 +514,10 @@ Maybe you want to use 'update --init'?")"
subsha1=
else
subsha1=$(clear_local_git_env; cd "$path" &&
- git rev-parse --verify HEAD) ||
- die "$(eval_gettext "Unable to find current revision in submodule path '\$path'")"
+ git rev-parse --verify HEAD) || {
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Unable to find current revision in submodule path '\$GIT_I18N_VARIABLE_path'")"
+ }
fi
if ! test -z "$update"
@@ -500,8 +540,10 @@ Maybe you want to use 'update --init'?")"
# is not reachable from a ref.
(clear_local_git_env; cd "$path" &&
((rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&
- test -z "$rev") || git-fetch)) ||
- die "$(eval_gettext "Unable to fetch in submodule path '\$path'")"
+ test -z "$rev") || git-fetch)) || {
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Unable to fetch in submodule path '\$GIT_I18N_VARIABLE_path'")"
+ }
fi
# Is this something we just cloned?
@@ -511,21 +553,23 @@ Maybe you want to use 'update --init'?")"
update_module= ;;
esac
+ GIT_I18N_VARIABLE_path=$path
+ GIT_I18N_VARIABLE_sha1=$sha1
case "$update_module" in
rebase)
command="git rebase"
- die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$path'")"
- say_msg="$(eval_gettext "Submodule path '\$path': rebased into '\$sha1'")"
+ die_msg="$(eval_gettext "Unable to rebase '\$GIT_I18N_VARIABLE_sha1' in submodule path '\$GIT_I18N_VARIABLE_path'")"
+ say_msg="$(eval_gettext "Submodule path '\$GIT_I18N_VARIABLE_path': rebased into '\$GIT_I18N_VARIABLE_sha1'")"
;;
merge)
command="git merge"
- die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$path'")"
- say_msg="$(eval_gettext "Submodule path '\$path': merged in '\$sha1'")"
+ die_msg="$(eval_gettext "Unable to merge '\$GIT_I18N_VARIABLE_sha1' in submodule path '\$GIT_I18N_VARIABLE_path'")"
+ say_msg="$(eval_gettext "Submodule path '\$GIT_I18N_VARIABLE_path': merged in '\$GIT_I18N_VARIABLE_sha1'")"
;;
*)
command="git checkout $subforce -q"
- die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$path'")"
- say_msg="$(eval_gettext "Submodule path '\$path': checked out '\$sha1'")"
+ die_msg="$(eval_gettext "Unable to checkout '\$GIT_I18N_VARIABLE_sha1' in submodule path '\$GIT_I18N_VARIABLE_path'")"
+ say_msg="$(eval_gettext "Submodule path '\$GIT_I18N_VARIABLE_path': checked out '\$GIT_I18N_VARIABLE_sha1'")"
;;
esac
@@ -535,8 +579,10 @@ Maybe you want to use 'update --init'?")"
if test -n "$recursive"
then
- (clear_local_git_env; cd "$path" && eval cmd_update "$orig_flags") ||
- die "$(eval_gettext "Failed to recurse into submodule path '\$path'")"
+ (clear_local_git_env; cd "$path" && eval cmd_update "$orig_flags") || {
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Failed to recurse into submodule path '\$GIT_I18N_VARIABLE_path'")"
+ }
fi
done
}
@@ -661,7 +707,8 @@ cmd_summary() {
*)
# unexpected type
(
- eval_gettext "unexpected mode \$mod_dst" &&
+ GIT_I18N_VARIABLE_mod_dst=$mod_dst
+ eval_gettext "unexpected mode \$GIT_I18N_VARIABLE_mod_dst" &&
echo
) >&2
continue ;;
@@ -679,15 +726,18 @@ cmd_summary() {
missing_dst=t
total_commits=
+ GIT_I18N_VARIABLE_name=$name
+ GIT_I18N_VARIABLE_sha1_src=$sha1_src
+ GIT_I18N_VARIABLE_sha1_dst=$sha1_dst
case "$missing_src,$missing_dst" in
t,)
- errmsg="$(eval_gettext " Warn: \$name doesn't contain commit \$sha1_src")"
+ errmsg="$(eval_gettext " Warn: \$GIT_I18N_VARIABLE_name doesn't contain commit \$GIT_I18N_VARIABLE_sha1_src")"
;;
,t)
- errmsg="$(eval_gettext " Warn: \$name doesn't contain commit \$sha1_dst")"
+ errmsg="$(eval_gettext " Warn: \$GIT_I18N_VARIABLE_name doesn't contain commit \$GIT_I18N_VARIABLE_sha1_dst")"
;;
t,t)
- errmsg="$(eval_gettext " Warn: \$name doesn't contain commits \$sha1_src and \$sha1_dst")"
+ errmsg="$(eval_gettext " Warn: \$GIT_I18N_VARIABLE_name doesn't contain commits \$GIT_I18N_VARIABLE_sha1_src and \$sha1_dst")"
;;
*)
errmsg=
@@ -837,8 +887,10 @@ cmd_status()
clear_local_git_env
cd "$path" &&
eval cmd_status "$orig_args"
- ) ||
- die "$(eval_gettext "Failed to recurse into submodule path '\$path'")"
+ ) || {
+ GIT_I18N_VARIABLE_path=$path
+ die "$(eval_gettext "Failed to recurse into submodule path '\$GIT_I18N_VARIABLE_path'")"
+ }
fi
done
}
@@ -882,7 +934,8 @@ cmd_sync()
;;
esac
- say "$(eval_gettext "Synchronizing submodule url for '\$name'")"
+ GIT_I18N_VARIABLE_name=$name
+ say "$(eval_gettext "Synchronizing submodule url for '\$GIT_I18N_VARIABLE_name'")"
git config submodule."$name".url "$url"
if test -e "$path"/.git
--
1.7.5.1
next prev parent reply other threads:[~2011-05-25 23:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-25 23:19 [PATCH 0/6] i18n: Windows shellscript support Ævar Arnfjörð Bjarmason
2011-05-25 23:19 ` [PATCH 1/6] i18n win32: add git-am eval_gettext variable prefix Ævar Arnfjörð Bjarmason
2011-05-26 6:34 ` Johannes Sixt
2011-05-26 14:13 ` Junio C Hamano
2011-05-26 14:59 ` Johannes Sixt
2011-05-26 15:16 ` Ævar Arnfjörð Bjarmason
2011-05-25 23:19 ` [PATCH 2/6] i18n win32: add git-bisect " Ævar Arnfjörð Bjarmason
2011-05-25 23:19 ` [PATCH 3/6] i18n win32: add git-pull " Ævar Arnfjörð Bjarmason
2011-05-25 23:19 ` [PATCH 4/6] i18n win32: add git-stash " Ævar Arnfjörð Bjarmason
2011-05-25 23:19 ` Ævar Arnfjörð Bjarmason [this message]
2011-05-25 23:19 ` [PATCH 6/6] i18n win32: add test " Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1306365594-22061-6-git-send-email-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j.sixt@viscovery.net \
--cc=jrnieder@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).