summaryrefslogtreecommitdiff
path: root/Documentation/git-pull.txt
diff options
context:
space:
mode:
authorDamien Robert <damien.olivier.robert@gmail.com>2020-04-06 13:57:09 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-04-06 20:42:43 (GMT)
commitacbfae32a31180d781357028af9aff8928672d4b (patch)
treebc737ce26e99375e3f6adbc5cbb0093f35ed906b /Documentation/git-pull.txt
parent4da9e99e6eaab24ef86c44642b0692669adacfeb (diff)
downloadgit-acbfae32a31180d781357028af9aff8928672d4b.zip
git-acbfae32a31180d781357028af9aff8928672d4b.tar.gz
git-acbfae32a31180d781357028af9aff8928672d4b.tar.bz2
doc: --recurse-submodules mostly applies to active submodules
The documentation refers to "initialized" or "populated" submodules, to explain which submodules are affected by '--recurse-submodules', but the real terminology here is 'active' submodules. Update the documentation accordingly. Some terminology: - Active is defined in gitsubmodules(7), it only involves the configuration variables 'submodule.active', 'submodule.<name>.active' and 'submodule.<name>.url'. The function submodule.c::is_submodule_active checks that a submodule is active. - Populated means that the submodule's working tree is present (and the gitfile correctly points to the submodule repository), i.e. either the superproject was cloned with ` --recurse-submodules`, or the user ran `git submodule update --init`, or `git submodule init [<path>]` and `git submodule update [<path>]` separately which populated the submodule working tree. This does not involve the 3 configuration variables above. - Initialized (at least in the context of the man pages involved in this patch) means both "populated" and "active" as defined above, i.e. what `git submodule update --init` does. The --recurse-submodules option mostly affects active submodules. An exception is `git fetch` where the option affects populated submodules. As a consequence, in `git pull --recurse-submodules` the fetch affects populated submodules, but the resulting working tree update only affects active submodules. In the documentation of `git-pull`, let's distinguish between the fetching part which affects populated submodules, and the updating of worktrees, which only affects active submodules. Signed-off-by: Damien Robert <damien.olivier.robert+git@gmail.com> Helped-by: Philippe Blain <levraiphilippeblain@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-pull.txt')
-rw-r--r--Documentation/git-pull.txt6
1 files changed, 4 insertions, 2 deletions
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index 47bc4a7..b336df0 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -85,8 +85,10 @@ OPTIONS
Pass --verbose to git-fetch and git-merge.
--[no-]recurse-submodules[=yes|on-demand|no]::
- This option controls if new commits of all populated submodules should
- be fetched and updated, too (see linkgit:git-fetch[1], linkgit:git-config[1] and linkgit:gitmodules[5]).
+ This option controls if new commits of populated submodules should
+ be fetched, and if the working trees of active submodules should be
+ updated, too (see linkgit:git-fetch[1], linkgit:git-config[1] and
+ linkgit:gitmodules[5]).
+
If the checkout is done via rebase, local submodule commits are rebased as well.
+