summaryrefslogtreecommitdiffstats
path: root/fetch-options.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-03-27 10:31:23 -0700
committerJunio C Hamano <gitster@pobox.com>2022-03-27 10:31:23 -0700
commit67fef49427c9457e52b6bed728023f84fd8967d4 (patch)
tree7e3db4a268775a3ab9b9dd670a3397388d646b55 /fetch-options.txt
parent14390e2aecb283765a5377385680c6baef1ed254 (diff)
downloadgit-htmldocs-67fef49427c9457e52b6bed728023f84fd8967d4.tar.gz
Autogenerated HTML docs for v2.35.1-677-gabf47
Diffstat (limited to 'fetch-options.txt')
-rw-r--r--fetch-options.txt26
1 files changed, 17 insertions, 9 deletions
diff --git a/fetch-options.txt b/fetch-options.txt
index f90368318..6cdd9d43c 100644
--- a/fetch-options.txt
+++ b/fetch-options.txt
@@ -186,15 +186,23 @@ endif::git-pull[]
ifndef::git-pull[]
--recurse-submodules[=yes|on-demand|no]::
This option controls if and under what conditions new commits of
- populated submodules should be fetched too. It can be used as a
- boolean option to completely disable recursion when set to 'no' or to
- unconditionally recurse into all populated submodules when set to
- 'yes', which is the default when this option is used without any
- value. Use 'on-demand' to only recurse into a populated submodule
- when the superproject retrieves a commit that updates the submodule's
- reference to a commit that isn't already in the local submodule
- clone. By default, 'on-demand' is used, unless
- `fetch.recurseSubmodules` is set (see linkgit:git-config[1]).
+ submodules should be fetched too. When recursing through submodules,
+ `git fetch` always attempts to fetch "changed" submodules, that is, a
+ submodule that has commits that are referenced by a newly fetched
+ superproject commit but are missing in the local submodule clone. A
+ changed submodule can be fetched as long as it is present locally e.g.
+ in `$GIT_DIR/modules/` (see linkgit:gitsubmodules[7]); if the upstream
+ adds a new submodule, that submodule cannot be fetched until it is
+ cloned e.g. by `git submodule update`.
++
+When set to 'on-demand', only changed submodules are fetched. When set
+to 'yes', all populated submodules are fetched and submodules that are
+both unpopulated and changed are fetched. When set to 'no', submodules
+are never fetched.
++
+When unspecified, this uses the value of `fetch.recurseSubmodules` if it
+is set (see linkgit:git-config[1]), defaulting to 'on-demand' if unset.
+When this option is used without any value, it defaults to 'yes'.
endif::git-pull[]
-j::