So here is the third iteration of the recursive fetch/pull series. Changes since v2: * The default now is to not recurse into submodules (also see "Still to do") * The command line option has been renamed to "--recurse-submodules" as proposed at the GitTogether * The config options are named "submodule.<name>.fetchRecurseSubmodules" and "fetch.recurseSubmodules" now * Switched the order of the two patches adding the config options Question: * Should the "--submodule-prefix" option - which is only used internally now - be a hidden option to "git fetch"? Still to do: * Add a mode to only fetch those submodules where new recorded commits are fetched in the superproject (and maybe later even fetch only those commits in the submodule which are referenced in the superprojects fetch). This could be a sane default - especially for projects having lots of submodules - and could be enabled by using then to be added "--recurse-submodules=changed" and "fetch[.]recurseSubmodules=changed" options where the configuration uses other defaults (I'm not really convinced yet 'changed' is a very good name but couldn't come up with a better one yet. So suggestions for alternatives are very welcome :-) * Boost performance by concurrently fetching submodules (after my first experiments this must be configurable, e.g. how many fetch commands to run at the same time, as some git servers barf on too many fetches run at the same time) But nonetheless I think this patch series is ok for inclusion as it does not change default behavior and gives people the opportunity to play with recursive fetch/pull by enabling one of the introduced config options. Jens Lehmann (3): fetch/pull: Add the --recurse-submodules option Add the 'fetch.recurseSubmodules' config setting Submodules: Add the "fetchRecurseSubmodules" config option Documentation/config.txt | 12 +++ Documentation/fetch-options.txt | 13 +++ Documentation/gitmodules.txt | 8 ++ builtin/fetch.c | 64 ++++++++++--- git-pull.sh | 10 ++- submodule.c | 98 +++++++++++++++++++- submodule.h | 5 + t/t5526-fetch-submodules.sh | 195 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 388 insertions(+), 17 deletions(-) create mode 100755 t/t5526-fetch-submodules.sh -- 1.7.3.2.337.g9376c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html