Merge branch 'sb/submodule-blanket-recursive'
Many commands learned to pay attention to submodule.recurse configuration. * sb/submodule-blanket-recursive: builtin/fetch.c: respect 'submodule.recurse' option builtin/push.c: respect 'submodule.recurse' option builtin/grep.c: respect 'submodule.recurse' option Introduce 'submodule.recurse' option for worktree manipulators submodule loading: separate code path for .gitmodules and config overlay reset/checkout/read-tree: unify config callback for submodule recursion submodule test invocation: only pass additional arguments submodule recursing: do not write a config variable twice
This commit is contained in:
@ -781,8 +781,9 @@ test_submodule_forced_switch () {
|
||||
# - Removing a submodule with a git directory absorbs the submodules
|
||||
# git directory first into the superproject.
|
||||
|
||||
test_submodule_switch_recursing () {
|
||||
command="$1"
|
||||
test_submodule_switch_recursing_with_args () {
|
||||
cmd_args="$1"
|
||||
command="git $cmd_args --recurse-submodules"
|
||||
RESULTDS=success
|
||||
if test "$KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS" = 1
|
||||
then
|
||||
@ -984,6 +985,18 @@ test_submodule_switch_recursing () {
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success "git -c submodule.recurse=true $cmd_args: modified submodule updates submodule work tree" '
|
||||
prolog &&
|
||||
reset_work_tree_to_interested add_sub1 &&
|
||||
(
|
||||
cd submodule_update &&
|
||||
git branch -t modify_sub1 origin/modify_sub1 &&
|
||||
git -c submodule.recurse=true $cmd_args modify_sub1 &&
|
||||
test_superproject_content origin/modify_sub1 &&
|
||||
test_submodule_content sub1 origin/modify_sub1
|
||||
)
|
||||
'
|
||||
|
||||
# Updating a submodule to an invalid sha1 doesn't update the
|
||||
# superproject nor the submodule's work tree.
|
||||
test_expect_success "$command: updating to a missing submodule commit fails" '
|
||||
@ -1016,8 +1029,9 @@ test_submodule_switch_recursing () {
|
||||
# Test that submodule contents are updated when switching between commits
|
||||
# that change a submodule, but throwing away local changes in
|
||||
# the superproject as well as the submodule is allowed.
|
||||
test_submodule_forced_switch_recursing () {
|
||||
command="$1"
|
||||
test_submodule_forced_switch_recursing_with_args () {
|
||||
cmd_args="$1"
|
||||
command="git $cmd_args --recurse-submodules"
|
||||
RESULT=success
|
||||
if test "$KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS" = 1
|
||||
then
|
||||
|
||||
Reference in New Issue
Block a user