From d3a44f637ecb0a4033e521a4166710aa2f080796 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Fri, 22 Sep 2017 15:52:50 -0700 Subject: Documentation/config: clarify the meaning of submodule..update With more commands (that potentially change a submodule) paying attention to submodules as well as the recent discussion[1] on submodule..update, let's spell out that submodule..update is strictly to be used for configuring the "submodule update" command and not to be obeyed by other commands. These other commands usually have a strict meaning of what they should do (i.e. checkout, reset, rebase, merge) as well as have their name overlapping with the modes possible for submodule..update. [1] https://public-inbox.org/git/4283F0B0-BC1C-4ED1-8126-7E512D84484B@gmail.com/ submodule..update was set to "none", triggering unexpected behavior as the submodule was thought to never be touched. However a newer version of Git taught 'git pull --rebase' to also populate and rebase submodules if they were active. The newer options such as submodule.active and command specific flags would not have triggered unexpected behavior. Reported-by: Lars Schneider Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano --- Documentation/config.txt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index dc4e3f58a2..1ac0ae6adb 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -3085,10 +3085,14 @@ submodule..url:: See linkgit:git-submodule[1] and linkgit:gitmodules[5] for details. submodule..update:: - The default update procedure for a submodule. This variable - is populated by `git submodule init` from the - linkgit:gitmodules[5] file. See description of 'update' - command in linkgit:git-submodule[1]. + The method by which a submodule is updated by 'git submodule update', + which is the only affected command, others such as + 'git checkout --recurse-submodules' are unaffected. It exists for + historical reasons, when 'git submodule' was the only command to + interact with submodules; settings like `submodule.active` + and `pull.rebase` are more specific. It is populated by + `git submodule init` from the linkgit:gitmodules[5] file. + See description of 'update' command in linkgit:git-submodule[1]. submodule..branch:: The remote branch name for a submodule, used by `git submodule -- cgit v1.2.1