git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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" && continue

I'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
Previous: brian m. carlsonNext: Jens Lehmann
Message 12 of 17 in “Don't print status output with submodule.<name>.ignore=all”
  1. brian m. carlsonAug 3, 2013
  2. 1/2 submodule: fix confusing variable namebrian m. carlson, Aug 3, 2013
  3. Jonathan NiederAug 3, 2013
  4. Jens LehmannAug 4, 2013
  5. Fredrik GustafssonAug 4, 2013
  6. Jens LehmannAug 6, 2013
  7. Ramsay JonesAug 8, 2013
  8. Fredrik GustafssonAug 9, 2013
  9. Junio C HamanoAug 9, 2013
  10. Mark LevedahlAug 11, 2013
  11. 2/2 submodule: don't print status output with ignore=allbrian m. carlson, Aug 3, 2013
  12. Jonathan NiederAug 3, 2013
  13. Jens LehmannAug 4, 2013
  14. brian m. carlsonAug 10, 2013
  15. brian m. carlsonAug 11, 2013
  16. Jonathan NiederAug 11, 2013
  17. brian m. carlsonAug 17, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.