diff options
-rw-r--r-- | builtin/push.c | 16 | ||||
-rwxr-xr-x | t/t5531-deep-submodule-push.sh | 6 |
2 files changed, 2 insertions, 20 deletions
diff --git a/builtin/push.c b/builtin/push.c index 9e0b8dba9a..3bb9d6b7e6 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -3,7 +3,6 @@ */ #include "cache.h" #include "refs.h" -#include "dir.h" #include "run-command.h" #include "builtin.h" #include "remote.h" @@ -23,7 +22,6 @@ static int deleterefs; static const char *receivepack; static int verbosity; static int progress = -1; -static int has_submodules_configured; static int recurse_submodules = RECURSE_SUBMODULES_DEFAULT; static enum transport_family family; @@ -33,15 +31,6 @@ static const char **refspec; static int refspec_nr; static int refspec_alloc; -static void preset_submodule_default(void) -{ - if (has_submodules_configured || file_exists(git_path("modules")) || - (!is_bare_repository() && file_exists(".gitmodules"))) - recurse_submodules = RECURSE_SUBMODULES_CHECK; - else - recurse_submodules = RECURSE_SUBMODULES_OFF; -} - static void add_refspec(const char *ref) { refspec_nr++; @@ -506,9 +495,7 @@ static int git_push_config(const char *k, const char *v, void *cb) const char *value; if (!git_config_get_value("push.recursesubmodules", &value)) recurse_submodules = parse_push_recurse_submodules_arg(k, value); - } else if (starts_with(k, "submodule.") && ends_with(k, ".url")) - /* The submodule.<name>.url is used as a bit to indicate existence */ - has_submodules_configured = 1; + } return git_default_config(k, v, NULL); } @@ -565,7 +552,6 @@ int cmd_push(int argc, const char **argv, const char *prefix) }; packet_trace_identity("push"); - preset_submodule_default(); git_config(git_push_config, &flags); argc = parse_options(argc, argv, prefix, options, push_usage, 0); set_push_cert_flags(&flags, push_cert); diff --git a/t/t5531-deep-submodule-push.sh b/t/t5531-deep-submodule-push.sh index e690749e8a..198ce84754 100755 --- a/t/t5531-deep-submodule-push.sh +++ b/t/t5531-deep-submodule-push.sh @@ -65,11 +65,7 @@ test_expect_success 'push fails if submodule commit not on remote' ' git add gar/bage && git commit -m "Third commit for gar/bage" && # the push should fail with --recurse-submodules=check - # on the command line. "check" is the default for repos in - # which submodules are detected by existence of config, - # .gitmodules file or an internal .git/modules/<submodule-repo> - git submodule add -f ../submodule.git gar/bage && - test_must_fail git push ../pub.git master && + # on the command line... test_must_fail git push --recurse-submodules=check ../pub.git master && # ...or if specified in the configuration.. |