Changes in v3: * Fixes a bug with repo_read_gitmodules() where it was possible to segfault when a repository didn't have a worktree. * In order to fix the above bug repo_read_gitmodules() and gitmodules_config() were merged so that there won't be any duplicate logic. In order to merge these functions the parsing of submodule.fetchjobs and fetch.recursesubmodules were removed from the submodule-config parsing logic and instead moved into fetch and update-clone. This also makes it easier to ensure that no additonal non-submodule specific configuration like this will be added to .gitmodules in the future. Brandon Williams (10): repo_read_index: don't discard the index repository: have the_repository use the_index cache.h: add GITMODULES_FILE macro config: add config_from_gitmodules submodule: remove submodule.fetchjobs from submodule-config parsing submodule: remove fetch.recursesubmodules from submodule-config parsing submodule: check for unstaged .gitmodules outside of config parsing submodule: check for unmerged .gitmodules outside of config parsing submodule: merge repo_read_gitmodules and gitmodules_config grep: recurse in-process using 'struct repository' Documentation/git-grep.txt | 7 - builtin/fetch.c | 26 ++- builtin/grep.c | 396 ++++++++++---------------------------------- builtin/mv.c | 2 +- builtin/rm.c | 2 +- builtin/submodule--helper.c | 17 +- cache.h | 2 +- config.c | 17 ++ config.h | 10 ++ git.c | 2 +- grep.c | 13 -- grep.h | 1 - repository.c | 6 +- repository.h | 8 + setup.c | 12 +- submodule-config.c | 8 + submodule-config.h | 1 + submodule.c | 147 +++++++--------- submodule.h | 6 +- 19 files changed, 240 insertions(+), 443 deletions(-) -- 2.13.2.932.g7449e964c-goog