These two patches are extremly useful for those users who chose submodules because they wanted to reduce the time it takes for "git status" and "git diff" to recurse through the whole work tree by putting sometimes large amounts of files into submodules, which weren't scanned in the past. Since 1.7.0 "git status" and "git diff" recurse through submodule work trees, which has a - sometimes drastic - performance impact when large submodules are present. Using the "ignore=dirty" config option restores the former behaviour. This option can be set in the .gitmodules file or in .git/config, any settings found in the latter override those from .gitmodules. This enables the distribution of a default setting for this option by simply committing a modified .gitmodules file without each developer having to call "git submodule sync". When using "git status" or "git diff" with "--ignore-submodules=none" option the default behavior of scanning all submodules work trees can be restored temporarily. Comments? Jens Lehmann (2): Submodules: Add the new "ignore" config option for diff and status Submodules: Use "ignore" settings from .gitmodules too for diff and status Documentation/config.txt | 13 ++++ Documentation/diff-options.txt | 6 ++- Documentation/git-status.txt | 6 ++- Documentation/gitmodules.txt | 15 ++++ builtin/commit.c | 2 + builtin/diff-files.c | 2 + builtin/diff-index.c | 2 + builtin/diff-tree.c | 2 + builtin/diff.c | 2 + diff-lib.c | 15 +++-- diff.c | 35 ++++++++-- diff.h | 1 + submodule.c | 63 ++++++++++++++++- submodule.h | 4 + t/t4027-diff-submodule.sh | 139 ++++++++++++++++++++++++++++++++++++ t/t7508-status.sh | 154 ++++++++++++++++++++++++++++++++++++++- wt-status.c | 8 ++- 17 files changed, 449 insertions(+), 20 deletions(-) -- 1.7.2.223.g830604.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html