summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorMike Crowe <mac@mcrowe.com>2015-12-03 13:10:34 +0000
committerJunio C Hamano <gitster@pobox.com>2015-12-04 13:03:23 -0800
commitf5c7cd9ecf2274547197fc8fc40564957fc9b99d (patch)
tree7b4c5031eef433e13fd1049fe3c1ab4625b6a041 /t
parentb33a15b08131514b593015cb3e719faf9db20208 (diff)
downloadgit-f5c7cd9ecf2274547197fc8fc40564957fc9b99d.tar.gz
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-xt/t5531-deep-submodule-push.sh32
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)
)
'