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

Re: [PATCH v2 2/2] submodule: don't print status output with ignore=all

From
Jens Lehmann <jens.lehmann@web.de>
Date
Aug 19, 2013, 21:14 UTC
Message-ID
<52128AAB.1010401@web.de>
In-Reply-To
<1376760343-741047-3-git-send-email-sandals@crustytoothpaste.net>
Am 17.08.2013 19:25, schrieb brian m. carlson:
Show 11 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.
> 
> 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@web.de>
Show 47 quoted lines
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
>  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 &&
> 
Previous: brian m. carlson
Message 5 of 5 in “Don't print status output with submodule.<name>.ignore=all”
  1. 0/2 Don't print status output with submodule.<name>.ignore=allbrian m. carlson, Aug 17, 2013
  2. 1/2 submodule: fix confusing variable namebrian m. carlson, Aug 17, 2013
  3. Jens LehmannAug 19, 2013
  4. 2/2 submodule: don't print status output with ignore=allbrian m. carlson, Aug 17, 2013
  5. Jens LehmannAug 19, 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.