зеркало из https://github.com/microsoft/git.git
Merge branch 'we/submodule-update-prefix-output' into maint
"git submodule update", when recursed into sub-submodules, did not acccumulate the prefix paths. * we/submodule-update-prefix-output: submodule update: when using recursion, show full path
This commit is contained in:
Коммит
50734ea0af
|
@ -622,7 +622,7 @@ cmd_update()
|
|||
die_if_unmatched "$mode"
|
||||
if test "$stage" = U
|
||||
then
|
||||
echo >&2 "Skipping unmerged submodule $sm_path"
|
||||
echo >&2 "Skipping unmerged submodule $prefix$sm_path"
|
||||
continue
|
||||
fi
|
||||
name=$(module_name "$sm_path") || exit
|
||||
|
@ -637,7 +637,7 @@ cmd_update()
|
|||
|
||||
if test "$update_module" = "none"
|
||||
then
|
||||
echo "Skipping submodule '$sm_path'"
|
||||
echo "Skipping submodule '$prefix$sm_path'"
|
||||
continue
|
||||
fi
|
||||
|
||||
|
@ -646,7 +646,7 @@ cmd_update()
|
|||
# Only mention uninitialized submodules when its
|
||||
# path have been specified
|
||||
test "$#" != "0" &&
|
||||
say "$(eval_gettext "Submodule path '\$sm_path' not initialized
|
||||
say "$(eval_gettext "Submodule path '\$prefix\$sm_path' not initialized
|
||||
Maybe you want to use 'update --init'?")"
|
||||
continue
|
||||
fi
|
||||
|
@ -659,7 +659,7 @@ Maybe you want to use 'update --init'?")"
|
|||
else
|
||||
subsha1=$(clear_local_git_env; cd "$sm_path" &&
|
||||
git rev-parse --verify HEAD) ||
|
||||
die "$(eval_gettext "Unable to find current revision in submodule path '\$sm_path'")"
|
||||
die "$(eval_gettext "Unable to find current revision in submodule path '\$prefix\$sm_path'")"
|
||||
fi
|
||||
|
||||
if test -n "$remote"
|
||||
|
@ -692,7 +692,7 @@ Maybe you want to use 'update --init'?")"
|
|||
(clear_local_git_env; cd "$sm_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 '\$sm_path'")"
|
||||
die "$(eval_gettext "Unable to fetch in submodule path '\$prefix\$sm_path'")"
|
||||
fi
|
||||
|
||||
# Is this something we just cloned?
|
||||
|
@ -706,20 +706,20 @@ Maybe you want to use 'update --init'?")"
|
|||
case "$update_module" in
|
||||
rebase)
|
||||
command="git rebase"
|
||||
die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$sm_path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$sm_path': rebased into '\$sha1'")"
|
||||
die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$prefix\$sm_path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': rebased into '\$sha1'")"
|
||||
must_die_on_failure=yes
|
||||
;;
|
||||
merge)
|
||||
command="git merge"
|
||||
die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$sm_path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$sm_path': merged in '\$sha1'")"
|
||||
die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$prefix\$sm_path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': merged in '\$sha1'")"
|
||||
must_die_on_failure=yes
|
||||
;;
|
||||
*)
|
||||
command="git checkout $subforce -q"
|
||||
die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$sm_path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$sm_path': checked out '\$sha1'")"
|
||||
die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$prefix\$sm_path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': checked out '\$sha1'")"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -737,11 +737,16 @@ Maybe you want to use 'update --init'?")"
|
|||
|
||||
if test -n "$recursive"
|
||||
then
|
||||
(clear_local_git_env; cd "$sm_path" && eval cmd_update "$orig_flags")
|
||||
(
|
||||
prefix="$prefix$sm_path/"
|
||||
clear_local_git_env
|
||||
cd "$sm_path" &&
|
||||
eval cmd_update "$orig_flags"
|
||||
)
|
||||
res=$?
|
||||
if test $res -gt 0
|
||||
then
|
||||
die_msg="$(eval_gettext "Failed to recurse into submodule path '\$sm_path'")"
|
||||
die_msg="$(eval_gettext "Failed to recurse into submodule path '\$prefix\$sm_path'")"
|
||||
if test $res -eq 1
|
||||
then
|
||||
err="${err};$die_msg"
|
||||
|
|
|
@ -643,7 +643,8 @@ test_expect_success 'submodule update places git-dir in superprojects git-dir re
|
|||
rm -rf super_update_r2 &&
|
||||
git clone super_update_r super_update_r2 &&
|
||||
(cd super_update_r2 &&
|
||||
git submodule update --init --recursive &&
|
||||
git submodule update --init --recursive >actual &&
|
||||
test_i18ngrep "Submodule path .submodule/subsubmodule.: checked out" actual &&
|
||||
(cd submodule/subsubmodule &&
|
||||
git log > ../../expected
|
||||
) &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче