Changes in v2: * Rebased on latest 'bw/grep-recurse-submodules' branch (Still also requires the 'bc/object-id' series). * Changed unpack-trees.c (checkout command) so that it no longer respects the 'submodule.<name>.update' config since it really didn't make much sense for it to respect it. * The above point also enabled me to fix some issues that coverity found with how I was overlaying the repo config with the submodule update strategy. Instead the update strategy parsing logic is separated into two functions so that just the enum can be determined from a string (which is all update-clone needed). Brandon Williams (15): t7411: check configuration parsing errors submodule: don't use submodule_from_name add, reset: ensure submodules can be added or reset submodule--helper: don't overlay config in remote_submodule_branch submodule--helper: don't overlay config in update-clone fetch: don't overlay config with submodule-config submodule: don't rely on overlayed config when setting diffopts unpack-trees: don't respect submodule.update submodule: remove submodule_config callback routine diff: stop allowing diff to have submodules configured in .git/config submodule-config: remove support for overlaying repository config submodule-config: move submodule-config functions to submodule-config.c submodule-config: lazy-load a repository's .gitmodules file unpack-trees: improve loading of .gitmodules submodule: remove gitmodules_config builtin/add.c | 1 + builtin/checkout.c | 3 +- builtin/commit.c | 1 - builtin/diff-files.c | 1 - builtin/diff-index.c | 1 - builtin/diff-tree.c | 1 - builtin/diff.c | 2 - builtin/fetch.c | 5 -- builtin/grep.c | 4 -- builtin/ls-files.c | 6 +- builtin/mv.c | 1 - builtin/read-tree.c | 2 - builtin/reset.c | 3 +- builtin/rm.c | 1 - builtin/submodule--helper.c | 51 ++++++++------ diff.c | 3 - submodule-config.c | 65 +++++++++++++---- submodule-config.h | 8 +-- submodule.c | 148 ++++++++++++++------------------------- submodule.h | 6 +- t/helper/test-submodule-config.c | 7 -- t/t4027-diff-submodule.sh | 67 ------------------ t/t7400-submodule-basic.sh | 10 --- t/t7411-submodule-config.sh | 87 ++++------------------- unpack-trees.c | 81 +++++++++------------ 25 files changed, 192 insertions(+), 373 deletions(-) -- 2.14.0.rc1.383.gd1ce394fe2-goog