Skip to content

Commit 8702fee

Browse files
committed
Merge branch 'jl/maint-fetch-submodule-check-fix' into maint
* jl/maint-fetch-submodule-check-fix: fetch: skip on-demand checking when no submodules are configured
2 parents c2d5358 + 18322ba commit 8702fee

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

builtin/fetch.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -941,6 +941,15 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
941941
argc = parse_options(argc, argv, prefix,
942942
builtin_fetch_options, builtin_fetch_usage, 0);
943943

944+
if (recurse_submodules != RECURSE_SUBMODULES_OFF) {
945+
if (recurse_submodules_default) {
946+
int arg = parse_fetch_recurse_submodules_arg("--recurse-submodules-default", recurse_submodules_default);
947+
set_config_fetch_recurse_submodules(arg);
948+
}
949+
gitmodules_config();
950+
git_config(submodule_config, NULL);
951+
}
952+
944953
if (all) {
945954
if (argc == 1)
946955
die(_("fetch --all does not take a repository argument"));
@@ -976,12 +985,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
976985
if (!result && (recurse_submodules != RECURSE_SUBMODULES_OFF)) {
977986
const char *options[10];
978987
int num_options = 0;
979-
if (recurse_submodules_default) {
980-
int arg = parse_fetch_recurse_submodules_arg("--recurse-submodules-default", recurse_submodules_default);
981-
set_config_fetch_recurse_submodules(arg);
982-
}
983-
gitmodules_config();
984-
git_config(submodule_config, NULL);
985988
add_options_to_argv(&num_options, options);
986989
result = fetch_populated_submodules(num_options, options,
987990
submodule_prefix,

submodule.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,10 @@ void check_for_new_submodule_commits(unsigned char new_sha1[20])
373373
const char *argv[] = {NULL, NULL, "--not", "--all", NULL};
374374
int argc = ARRAY_SIZE(argv) - 1;
375375

376+
/* No need to check if there are no submodules configured */
377+
if (!config_name_for_path.nr)
378+
return;
379+
376380
init_revisions(&rev, NULL);
377381
argv[1] = xstrdup(sha1_to_hex(new_sha1));
378382
setup_revisions(argc, argv, &rev, NULL);

0 commit comments

Comments
 (0)