diff options
author | Mike Crowe <mac@mcrowe.com> | 2015-12-03 16:10:34 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-12-05 00:03:23 +0300 |
commit | f5c7cd9ecf2274547197fc8fc40564957fc9b99d (patch) | |
tree | 7b4c5031eef433e13fd1049fe3c1ab4625b6a041 /t | |
parent | b33a15b08131514b593015cb3e719faf9db20208 (diff) |
push: test that --recurse-submodules on command line overrides config
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>
Diffstat (limited to 't')
-rwxr-xr-x | t/t5531-deep-submodule-push.sh | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/t/t5531-deep-submodule-push.sh b/t/t5531-deep-submodule-push.sh index 9fda7b0c19..721be32b02 100755 --- a/t/t5531-deep-submodule-push.sh +++ b/t/t5531-deep-submodule-push.sh @@ -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) ) ' |