v2: * this applies on sb/reset-recurse-submodules * grep and push are also respecting submodule.recurse now. * Brandon seemed to disagree with the first patch as it may hurt with his 'RFC repo object' series [1], but I explained a possible way out in [2] and Brandon seemed to agree that this makes sense offlist. That first patch was changed to include loading the gitmodules file in the call to loading the config. [1] https://public-inbox.org/git/20170518232134.163059-1-bmwill@xxxxxxxxxx/ [2] https://public-inbox.org/git/CAGZ79kb+31h6f_9fuUpbfeY7xxjP-kbvqz6J5K5sbPEmdPNvpw@xxxxxxxxxxxxxx/ v1: In a submodule heavy workflow it becomes tedious to pass in --recurse-submodules all the time, so make an option for it. Thanks, Stefan Stefan Beller (6): submodule.c: add has_submodules to check if we have any submodules submodule test invocation: only pass additional arguments Introduce submodule.recurse option for worktree manipulators builtin/fetch.c: respect 'submodule.recurse' option builtin/grep.c: respect 'submodule.recurse' option builtin/push.c: respect 'submodule.recurse' option Documentation/config.txt | 5 +++ builtin/checkout.c | 9 ++-- builtin/fetch.c | 3 +- builtin/grep.c | 3 ++ builtin/push.c | 4 ++ builtin/read-tree.c | 3 +- builtin/reset.c | 3 +- builtin/submodule--helper.c | 10 ++--- submodule.c | 85 +++++++++++++++++++++++++++++++------- submodule.h | 8 +++- t/lib-submodule-update.sh | 18 +++++++- t/t1013-read-tree-submodule.sh | 4 +- t/t2013-checkout-submodule.sh | 4 +- t/t5526-fetch-submodules.sh | 10 +++++ t/t5531-deep-submodule-push.sh | 21 ++++++++++ t/t7112-reset-submodule.sh | 4 +- t/t7814-grep-recurse-submodules.sh | 18 ++++++++ unpack-trees.c | 3 +- 18 files changed, 169 insertions(+), 46 deletions(-) -- 2.13.0.18.g7d86cc8ba0