summaryrefslogtreecommitdiff
path: root/git-submodule.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-04-25 15:17:16 -0700
committerJunio C Hamano <gitster@pobox.com>2016-04-25 15:17:16 -0700
commit6a0f105a217b243f348c6e9c621ba7a12bff8b97 (patch)
treeac5c3b0b530c7c57b958fe5e9631708051377616 /git-submodule.sh
parentf276cae18799ac8df2495b93cf0359a413789891 (diff)
parent2ab56603bffb7aed6ec6d2a36deddfdf49cfd5ad (diff)
downloadgit-6a0f105a217b243f348c6e9c621ba7a12bff8b97.tar.gz
Merge branch 'sb/submodule-path-misc-bugs'
"git submodule" reports the paths of submodules the command recurses into, but this was incorrect when the command was not run from the root level of the superproject. * sb/submodule-path-misc-bugs: t7407: make expectation as clear as possible submodule update: test recursive path reporting from subdirectory submodule update: align reporting path for custom command execution submodule status: correct path handling in recursive submodules submodule update --init: correct path handling in recursive submodules submodule foreach: correct path display in recursive submodules
Diffstat (limited to 'git-submodule.sh')
-rwxr-xr-xgit-submodule.sh13
1 files changed, 7 insertions, 6 deletions
diff --git a/git-submodule.sh b/git-submodule.sh
index cd749f473c..2a84d7e66a 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -423,8 +423,8 @@ cmd_foreach()
die_if_unmatched "$mode"
if test -e "$sm_path"/.git
then
- displaypath=$(relative_path "$sm_path")
- say "$(eval_gettext "Entering '\$prefix\$displaypath'")"
+ displaypath=$(relative_path "$prefix$sm_path")
+ say "$(eval_gettext "Entering '\$displaypath'")"
name=$(git submodule--helper name "$sm_path")
(
prefix="$prefix$sm_path/"
@@ -444,7 +444,7 @@ cmd_foreach()
cmd_foreach "--recursive" "$@"
fi
) <&3 3<&- ||
- die "$(eval_gettext "Stopping at '\$prefix\$displaypath'; script returned non-zero status.")"
+ die "$(eval_gettext "Stopping at '\$displaypath'; script returned non-zero status.")"
fi
done
}
@@ -483,7 +483,7 @@ cmd_init()
die_if_unmatched "$mode"
name=$(git submodule--helper name "$sm_path") || exit
- displaypath=$(relative_path "$sm_path")
+ displaypath=$(relative_path "$prefix$sm_path")
# Copy url setting when it is not set yet
if test -z "$(git config "submodule.$name.url")"
@@ -800,8 +800,8 @@ cmd_update()
;;
!*)
command="${update_module#!}"
- die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$prefix\$sm_path'")"
- say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': '\$command \$sha1'")"
+ die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$displaypath'")"
+ say_msg="$(eval_gettext "Submodule path '\$displaypath': '\$command \$sha1'")"
must_die_on_failure=yes
;;
*)
@@ -1157,6 +1157,7 @@ cmd_status()
(
prefix="$displaypath/"
sanitize_submodule_env
+ wt_prefix=
cd "$sm_path" &&
eval cmd_status
) ||