diff options
author | Jens Lehmann <Jens.Lehmann@web.de> | 2010-11-12 13:54:52 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-11-12 15:06:03 -0800 |
commit | 7dce19d374a37932e9d4c3a6202af407cf5114eb (patch) | |
tree | 4e26a11bba6c571c41fef1e625f61edfa62cbb12 /Documentation | |
parent | 515cc0101943b766fde7aa894827119e332ec033 (diff) | |
download | git-7dce19d374a37932e9d4c3a6202af407cf5114eb.tar.gz git-7dce19d374a37932e9d4c3a6202af407cf5114eb.tar.xz |
fetch/pull: Add the --recurse-submodules option
Until now you had to call "git submodule update" (without -N|--no-fetch
option) or something like "git submodule foreach git fetch" to fetch
new commits in populated submodules from their remote.
This could lead to "(commits not present)" messages in the output of
"git diff --submodule" (which is used by "git gui" and "gitk") after
fetching or pulling new commits in the superproject and is an obstacle for
implementing recursive checkout of submodules. Also "git submodule
update" cannot fetch changes when disconnected, so it was very easy to
forget to fetch the submodule changes before disconnecting only to
discover later that they are needed.
This patch adds the "--recurse-submodules" option to recursively fetch
each populated submodule from the url configured in the .git/config of the
submodule at the end of each "git fetch" or during "git pull" in the
superproject. The submodule paths are taken from the index.
The hidden option "--submodule-prefix" is added to "git fetch" to be able
to print out the full paths of nested submodules.
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/fetch-options.txt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt index 9333c42c5..7f8d562ef 100644 --- a/Documentation/fetch-options.txt +++ b/Documentation/fetch-options.txt @@ -60,6 +60,16 @@ endif::git-pull[] flag lets all tags and their associated objects be downloaded. +--recurse-submodules:: + Use this option to fetch new commits of all populated submodules too. + +ifndef::git-pull[] +--submodule-prefix=<path>:: + Prepend <path> to paths printed in informative messages + such as "Fetching submodule foo". This option is used + internally when recursing over submodules. +endif::git-pull[] + -u:: --update-head-ok:: By default 'git fetch' refuses to update the head which |