summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Habouzit <madcoder@debian.org>2007-11-08 10:32:11 +0100
committerJunio C Hamano <gitster@pobox.com>2007-11-08 01:49:01 -0800
commite817e3e8579742312534f20c0946cd3c562cfa7c (patch)
tree7b2beac11eedeb6216ca8667ffd654d1fd1d0173
parentcbea86fd149f5d4aabdff06f87bc766d414b160e (diff)
downloadgit-e817e3e8579742312534f20c0946cd3c562cfa7c.tar.gz
sh-setup: don't let eval output to be shell-expanded.
The previous patch missed the same construct in git-clone. Signed-off-by: Pierre Habouzit <madcoder@debian.org>
-rwxr-xr-xgit-clone.sh2
-rwxr-xr-xgit-sh-setup.sh13
2 files changed, 9 insertions, 6 deletions
diff --git a/git-clone.sh b/git-clone.sh
index f216f03a77..24ad179bbd 100755
--- a/git-clone.sh
+++ b/git-clone.sh
@@ -36,7 +36,7 @@ usage() {
exec "$0" -h
}
-eval `echo "$OPTIONS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?`
+eval "$(echo "$OPTIONS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)"
get_repo_base() {
(
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index f1c4839a9f..5aa62dda15 100755
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -21,12 +21,15 @@ if test -n "$OPTIONS_SPEC"; then
exec "$0" -h
}
- [ -n "$OPTIONS_KEEPDASHDASH" ] && parseopt_extra="--keep-dashdash"
- parsed=$(
+ parseopt_extra=
+ [ -n "$OPTIONS_KEEPDASHDASH" ] &&
+ parseopt_extra="--keep-dashdash"
+
+ eval "$(
echo "$OPTIONS_SPEC" |
- git rev-parse --parseopt $parseopt_extra -- "$@"
- ) &&
- eval "$parsed" || exit
+ git rev-parse --parseopt $parseopt_extra -- "$@" ||
+ echo exit $?
+ )"
else
usage() {
die "Usage: $0 $USAGE"