From: Marc Branchaud Date: Wed, 02 Mar 2011 16:00:29 GMT Subject: Re: [PATCH v2 2/7] fetch/pull: Add the 'on-demand' value to the --recurse-submodules option Message-ID: <4D6E699D.3040000@xiplink.com> In-Reply-To: <4D6D7ADA.6090302@web.de> On 11-03-01 06:01 PM, Jens Lehmann wrote: > Until now the --recurse-submodules option could only be used to either > fetch all populated submodules recursively or to disable recursion > completely. As fetch and pull now by default just fetch those submodules > for which new commits have been fetched in the superproject, a command > line option to enforce that behavior is needed to be able to override > configuration settings. Strictly speaking, this patch should add the 'on-demand' value to the first patch's --submodule-default option. Perhaps I'm being a bit too uptight though... > Signed-off-by: Jens Lehmann > --- > Documentation/fetch-options.txt | 16 +++++++-- > Documentation/git-pull.txt | 2 +- > builtin/fetch.c | 22 ++++++++++-- > git-pull.sh | 3 ++ > submodule.c | 8 +++- > submodule.h | 2 +- > t/t5526-fetch-submodules.sh | 71 +++++++++++++++++++++++++++++++++++++++ > 7 files changed, 114 insertions(+), 10 deletions(-) > > diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt > index ae22f75..f28c0b1 100644 > --- a/Documentation/fetch-options.txt > +++ b/Documentation/fetch-options.txt > @@ -65,9 +65,19 @@ ifndef::git-pull[] > specified with the remote..tagopt setting. See > linkgit:git-config[1]. > > ---[no-]recurse-submodules:: > - This option controls if new commits of all populated submodules should > - be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]). > +--recurse-submodules[=yes|on-demand|no]:: > + This option controls if and under what conditions new commits of all Nit: Remove "all" from the above line. > + 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. If 'on-demand' is used, it will only recurse into those > + submodules where new commits have been fetched in the superproject > + (also see linkgit:git-config[1] and linkgit:gitmodules[5]). Nit: Replace that last sentence with Use 'on-demand' to only recurse into a submodule when the superproject retrieves a commit that updates the submodule's reference. Also, this has to change again with patch 5 (Don't recurse into a submodule when commits are already present). M.