This series utilizes the new 'struct repository' in order to convert grep to be able to recurse into submodules in-process much like how ls-files was converted to recuse in-process. The result is a much smaller code footprint due to not needing to compile an argv array of options to be used when launched a process for operating on a submodule. Brandon Williams (3): repo_read_index: don't discard the index setup: have the_repository use the_index grep: recurse in-process using 'struct repository' Documentation/git-grep.txt | 7 - builtin/grep.c | 390 +++++++++------------------------------------ cache.h | 1 - git.c | 2 +- grep.c | 13 -- grep.h | 1 - repository.c | 2 - setup.c | 13 +- 8 files changed, 82 insertions(+), 347 deletions(-) -- 2.13.2.932.g7449e964c-goog