This is my current work in progress. Sergey it would be awesome if you could test these and tell me whether the behaviour is what you would expect. Once that is settled I will add some tests and possibly clean up some code. Since nobody spoke against this change of behavior I assume that we agree on the general approach I am taking here. If not please speak up now so we can work something out and save me implementation time ;-) Whats still missing is: * it seems reset does not care at all about the ignore settings. It still shows a M submodule line even when the submodule in question was not in the index and is marked as ignored. Have not looked at the code yet. * The git diff $commit question Junio mentioned here[1] it does not yet show diffs of ignore=all submodules. For testing convenience you can also find all patches applied to Junio's current master here: https://github.com/hvoigt/git/commits/hv/fix_ignore_all_submodules Cheers Heiko Heiko Voigt (4): disable complete ignorance of submodules for index <-> HEAD diff fix 'git add' to skip submodules configured as ignored teach add -f option for ignored submodules always show committed submodules in summary after commit builtin/add.c | 55 ++++++++++++++++++++++++++++++++++++----------- builtin/commit.c | 1 + builtin/diff.c | 2 ++ diff-lib.c | 3 +++ diff.h | 2 +- submodule.c | 26 ++++++++++++++++++++-- submodule.h | 2 ++ t/t4027-diff-submodule.sh | 12 ++++++++--- t/t7508-status.sh | 6 +++++- 9 files changed, 90 insertions(+), 19 deletions(-) -- 1.8.5.1.43.gf00fb86 -- 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