From 58f4203e7db265cd2d8315ca5d9c9979cd577427 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 31 May 2017 17:30:50 -0700 Subject: [PATCH] builtin/fetch.c: respect 'submodule.recurse' option Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano --- builtin/fetch.c | 7 +++++++ t/t5526-fetch-submodules.sh | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/builtin/fetch.c b/builtin/fetch.c index 5f2c2ab23e..c1ec3b03c3 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -73,6 +73,13 @@ static int git_fetch_config(const char *k, const char *v, void *cb) fetch_prune_config = git_config_bool(k, v); return 0; } + + if (!strcmp(k, "submodule.recurse")) { + int r = git_config_bool(k, v) ? + RECURSE_SUBMODULES_ON : RECURSE_SUBMODULES_OFF; + recurse_submodules = r; + } + return git_default_config(k, v, cb); } diff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh index f3b0a8d30a..162baf101f 100755 --- a/t/t5526-fetch-submodules.sh +++ b/t/t5526-fetch-submodules.sh @@ -71,6 +71,16 @@ test_expect_success "fetch --recurse-submodules recurses into submodules" ' test_i18ncmp expect.err actual.err ' +test_expect_success "submodule.recurse option triggers recursive fetch" ' + add_upstream_commit && + ( + cd downstream && + git -c submodule.recurse fetch >../actual.out 2>../actual.err + ) && + test_must_be_empty actual.out && + test_i18ncmp expect.err actual.err +' + test_expect_success "fetch --recurse-submodules -j2 has the same output behaviour" ' add_upstream_commit && ( -- 2.11.4.GIT