Am 17.08.2013 19:25, schrieb brian m. carlson: > git status prints information for submodules, but it should ignore the status of > those which have submodule.<name>.ignore set to all. Fix it so that it does > properly ignore those which have that setting either in .git/config or in > .gitmodules. > > Not ignored are submodules that are added, deleted, or moved (which is > essentially a combination of the first two) because it is not easily possible to > determine the old path once a move has occurred, nor is it easily possible to > detect which adds and deletions are moves and which are not. This also > preserves the previous behavior of always listing modules which are to be > deleted. Sounds sane. Even though we should be able to follow renames by inspecting the old .gitmodules content with the new --blob option of git config, I doubt it'll be worth the hassle. Thanks for fixing two known test breakages. Acked-by: Jens Lehmann <Jens.Lehmann@xxxxxx> > Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> > --- > git-submodule.sh | 7 +++++++ > t/t7508-status.sh | 4 ++-- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/git-submodule.sh b/git-submodule.sh > index 38520db..c1ba0f8 100755 > --- a/git-submodule.sh > +++ b/git-submodule.sh > @@ -1036,6 +1036,13 @@ cmd_summary() { > do > # Always show modules deleted or type-changed (blob<->module) > test $status = D -o $status = T && echo "$sm_path" && continue > + # Respect the ignore setting for --for-status. > + if test -n $for_status > + then > + name=$(module_name "$sm_path") > + ignore_config=$(get_submodule_config "$name" ignore none) > + test $status != A -a $ignore_config = all && continue > + fi > # Also show added or modified modules which are checked out > GIT_DIR="$sm_path/.git" git-rev-parse --git-dir >/dev/null 2>&1 && > echo "$sm_path" > diff --git a/t/t7508-status.sh b/t/t7508-status.sh > index ac3d0fe..fb89fb9 100755 > --- a/t/t7508-status.sh > +++ b/t/t7508-status.sh > @@ -1316,7 +1316,7 @@ test_expect_success "--ignore-submodules=all suppresses submodule summary" ' > test_i18ncmp expect output > ' > > -test_expect_failure '.gitmodules ignore=all suppresses submodule summary' ' > +test_expect_success '.gitmodules ignore=all suppresses submodule summary' ' > git config --add -f .gitmodules submodule.subname.ignore all && > git config --add -f .gitmodules submodule.subname.path sm && > git status > output && > @@ -1324,7 +1324,7 @@ test_expect_failure '.gitmodules ignore=all suppresses submodule summary' ' > git config -f .gitmodules --remove-section submodule.subname > ' > > -test_expect_failure '.git/config ignore=all suppresses submodule summary' ' > +test_expect_success '.git/config ignore=all suppresses submodule summary' ' > git config --add -f .gitmodules submodule.subname.ignore none && > git config --add -f .gitmodules submodule.subname.path sm && > git config --add submodule.subname.ignore all && > -- 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