Re: [PATCH 2/2] submodule: don't print status output with ignore=all
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Aug 3, 2013, 18:24 UTC
- Message-ID
- <20130803182420.GG2893@elie.Belkin>
- In-Reply-To
- <1375550060-5406-3-git-send-email-sandals@crustytoothpaste.net>
brian m. carlson wrote:
Show 10 quoted lines
> 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. > > Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> > --- > git-submodule.sh | 2 ++ > t/t7508-status.sh | 4 ++-- > 2 files changed, 4 insertions(+), 2 deletions(-)
Thanks. Cc-ing Jens, who wrote that test and knows this code much better than I do. :)
[...]
Show 10 quoted lines
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -1034,6 +1034,8 @@ cmd_summary() {
> sane_egrep '^:([0-7]* )?160000' |
> while read mod_src mod_dst sha1_src sha1_dst status path
> do
> + name=$(module_name "$path")
> + test $(get_submodule_config "$name" ignore none) = all && continue
> # Always show modules deleted or type-changed (blob<->module)
> test $status = D -o $status = T && echo "$path" && continueI'm not sure what the exact semantics should be here, though that's mostly because of my unfamiliarity with submodules in general.
If I have '[submodule "favorite"] ignore = all' and I then replace that submodule with a blob, should "git submodule status" not mention that path?
If I just renamed a submodule, will 'module_name "$path"' do the right thing with the old path?
(rest of the patch kept unsnipped for reference)
Show 25 quoted lines
> # Also show added or modified modules which are checked out > 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 && > -- > 1.8.4.rc1