summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/push.c16
-rwxr-xr-xt/t5531-deep-submodule-push.sh6
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..