The big change in this version is the introduction of a --super-prefix option to the top level git. After much discussion this seemed to be a better naming scheme than 'submodule-prefix' as it could be an option other cmds could use independent of submodules. In 3/4 I changed the compile_submodule_options function to compile all options that can be realistically passed through and when an option that isn't supported (or rather safe) yet is provided the caller will be errored out. Brandon Williams (4): git: make super-prefix option ls-files: optionally recurse into submodules ls-files: pass through safe options for --recurse-submodules ls-files: add pathspec matching for submodules Documentation/git-ls-files.txt | 7 +- Documentation/git.txt | 6 + builtin/ls-files.c | 202 ++++++++++++++++++++++++------- cache.h | 2 + dir.c | 46 +++++++- dir.h | 4 + environment.c | 10 ++ git.c | 24 +++- t/t3007-ls-files-recurse-submodules.sh | 209 +++++++++++++++++++++++++++++++++ 9 files changed, 466 insertions(+), 44 deletions(-) create mode 100755 t/t3007-ls-files-recurse-submodules.sh -- 2.8.0.rc3.226.g39d4020