builtin/fetch.c: respect 'submodule.recurse' option

Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stefan Beller committed May 31, 2017 at 17:30 UTC 58f4203e7db265cd2d8315ca5d9c9979cd577427
2 files changed +17
builtin/fetch.c
+7
@@ -73,6 +73,13 @@ static int git_fetch_config(const char *k, const char *v, void *cb)
73 fetch_prune_config = git_config_bool(k, v);
74 return 0;
75 }
76 +
77 + if (!strcmp(k, "submodule.recurse")) {
78 + int r = git_config_bool(k, v) ?
79 + RECURSE_SUBMODULES_ON : RECURSE_SUBMODULES_OFF;
80 + recurse_submodules = r;
81 + }
82 +
83 return git_default_config(k, v, cb);
84 }
85
t/t5526-fetch-submodules.sh
+10
@@ -71,6 +71,16 @@ test_expect_success "fetch --recurse-submodules recurses into submodules" '
71 test_i18ncmp expect.err actual.err
72 '
73
74 +test_expect_success "submodule.recurse option triggers recursive fetch" '
75 + add_upstream_commit &&
76 + (
77 + cd downstream &&
78 + git -c submodule.recurse fetch >../actual.out 2>../actual.err
79 + ) &&
80 + test_must_be_empty actual.out &&
81 + test_i18ncmp expect.err actual.err
82 +'
83 +
84 test_expect_success "fetch --recurse-submodules -j2 has the same output behaviour" '
85 add_upstream_commit &&
86 (