summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2017-06-01 00:30:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-06-01 01:36:36 (GMT)
commit58f4203e7db265cd2d8315ca5d9c9979cd577427 (patch)
treedc2c0d75e01fb7c5f8e5e412ec0611a4871b3e32
parent4e53d6a54122b6034b9b0346c84e3e5525aed542 (diff)
downloadgit-58f4203e7db265cd2d8315ca5d9c9979cd577427.zip
git-58f4203e7db265cd2d8315ca5d9c9979cd577427.tar.gz
git-58f4203e7db265cd2d8315ca5d9c9979cd577427.tar.bz2
builtin/fetch.c: respect 'submodule.recurse' option
Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/fetch.c7
-rwxr-xr-xt/t5526-fetch-submodules.sh10
2 files changed, 17 insertions, 0 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 5f2c2ab..c1ec3b0 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 f3b0a8d..162baf1 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 &&
(