Browse Source

fetch: don't overlay config with submodule-config

Don't rely on overlaying the repository's config on top of the
submodule-config, instead query the repository's config directly for the
fetch_recurse field.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Brandon Williams 8 years ago committed by Junio C Hamano
parent
commit
492c6c46da
  1. 1
      builtin/fetch.c
  2. 24
      submodule.c

1
builtin/fetch.c

@ -1362,7 +1362,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) @@ -1362,7 +1362,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)

if (recurse_submodules != RECURSE_SUBMODULES_OFF) {
gitmodules_config();
git_config(submodule_config, NULL);
}

if (all) {

24
submodule.c

@ -1194,14 +1194,24 @@ static int get_next_submodule(struct child_process *cp, @@ -1194,14 +1194,24 @@ static int get_next_submodule(struct child_process *cp,

default_argv = "yes";
if (spf->command_line_option == RECURSE_SUBMODULES_DEFAULT) {
if (submodule &&
submodule->fetch_recurse !=
RECURSE_SUBMODULES_NONE) {
if (submodule->fetch_recurse ==
RECURSE_SUBMODULES_OFF)
int fetch_recurse = RECURSE_SUBMODULES_NONE;

if (submodule) {
char *key;
const char *value;

fetch_recurse = submodule->fetch_recurse;
key = xstrfmt("submodule.%s.fetchRecurseSubmodules", submodule->name);
if (!repo_config_get_string_const(the_repository, key, &value)) {
fetch_recurse = parse_fetch_recurse_submodules_arg(key, value);
}
free(key);
}

if (fetch_recurse != RECURSE_SUBMODULES_NONE) {
if (fetch_recurse == RECURSE_SUBMODULES_OFF)
continue;
if (submodule->fetch_recurse ==
RECURSE_SUBMODULES_ON_DEMAND) {
if (fetch_recurse == RECURSE_SUBMODULES_ON_DEMAND) {
if (!unsorted_string_list_lookup(&changed_submodule_paths, ce->name))
continue;
default_argv = "on-demand";

Loading…
Cancel
Save