Skip to content

Commit

Permalink
push: test that --recurse-submodules on command line overrides config
Browse files Browse the repository at this point in the history
t5531 only checked that the push.recurseSubmodules config option was
overridden by passing --recurse-submodules=check on the command
line.  Add new tests for overriding with --recurse-submodules=no,
--no-recurse-submodules and --recurse-submodules=push too.

Also correct minor typo in test commit message.

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Mike Crowe authored and Junio C Hamano committed Dec 4, 2015
1 parent b33a15b commit f5c7cd9
Showing 1 changed file with 28 additions and 4 deletions.
32 changes: 28 additions & 4 deletions t/t5531-deep-submodule-push.sh
Original file line number Diff line number Diff line change
Expand Up @@ -126,24 +126,48 @@ test_expect_success 'push succeeds if submodule commit not on remote but using o
)
'

test_expect_success 'push fails if submodule commit not on remote using check from cmdline overriding config' '
test_expect_success 'push recurse-submodules on command line overrides config' '
(
cd work/gar/bage &&
>recurse-check-on-command-line-overriding-config &&
git add recurse-check-on-command-line-overriding-config &&
git commit -m "Recurse on command-line overridiing config junk"
git commit -m "Recurse on command-line overriding config junk"
) &&
(
cd work &&
git add gar/bage &&
git commit -m "Recurse on command-line overriding config for gar/bage" &&
# Ensure that we can override on-demand in the config
# to just check submodules
test_must_fail git -c push.recurseSubmodules=on-demand push --recurse-submodules=check ../pub.git master &&
# Check that the supermodule commit did not get there
git fetch ../pub.git &&
git diff --quiet FETCH_HEAD master^ &&
# Check that the submodule commit did not get there
cd gar/bage &&
git diff --quiet origin/master master^
(cd gar/bage && git diff --quiet origin/master master^) &&
# Ensure that we can override check in the config to
# disable submodule recursion entirely
(cd gar/bage && git diff --quiet origin/master master^) &&
git -c push.recurseSubmodules=on-demand push --recurse-submodules=no ../pub.git master &&
git fetch ../pub.git &&
git diff --quiet FETCH_HEAD master &&
(cd gar/bage && git diff --quiet origin/master master^) &&
# Ensure that we can override check in the config to
# disable submodule recursion entirely (alternative form)
git -c push.recurseSubmodules=on-demand push --no-recurse-submodules ../pub.git master &&
git fetch ../pub.git &&
git diff --quiet FETCH_HEAD master &&
(cd gar/bage && git diff --quiet origin/master master^) &&
# Ensure that we can override check in the config to
# push the submodule too
git -c push.recurseSubmodules=check push --recurse-submodules=on-demand ../pub.git master &&
git fetch ../pub.git &&
git diff --quiet FETCH_HEAD master &&
(cd gar/bage && git diff --quiet origin/master master)
)
'

Expand Down

0 comments on commit f5c7cd9

Please sign in to comment.