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

[PATCH] Add tests for the diff.ignoreSubmodules config option

From
Jens Lehmann <jens.lehmann@web.de>
Date
Aug 5, 2010, 23:27 UTC
Message-ID
<4C5B48D3.6020402@web.de>
In-Reply-To
<4C5B0C13.6020809@web.de>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
---
Am 05.08.2010 21:08, schrieb Jens Lehmann:
Show 15 quoted lines
> Am 05.08.2010 18:49, schrieb Junio C Hamano:
>> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>>> This commit introduces a global config setting to set a default
>>> (porcelain) value for the --ignore-submodules option, keeping the
>>> default at 'none'. It can be overridden by the submodule.*.ignore
>>> setting and by the --ignore-submodules option.
>>> ...
>>> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
>>> ---
>>
>> Nice, at least from a cursory look.  
> 
> Yup, makes sense to me too.
> 
> Acked-by: Jens Lehmann <Jens.Lehmann@web.de>
And here are some test cases for this new option.
 t/t4027-diff-submodule.sh |   10 +++++++++-
 t/t7508-status.sh         |   12 ++++++++++--
 2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/t/t4027-diff-submodule.sh b/t/t4027-diff-submodule.sh
index 1bc6e77..d99814a 100755
--- a/t/t4027-diff-submodule.sh
+++ b/t/t4027-diff-submodule.sh
@@ -115,6 +115,9 @@ test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match)'
 '

 test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match) [.git/config]' '
+	git config diff.ignoreSubmodules all &&
+	git diff HEAD >actual &&
+	! test -s actual &&
 	git config submodule.subname.ignore none &&
 	git config submodule.subname.path sub &&
 	git diff HEAD >actual &&
@@ -136,10 +139,14 @@ test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match)
 	sed -e "1,/^@@/d" actual >actual.body &&
 	expect_from_to >expect.body $subprev $subprev-dirty &&
 	test_cmp expect.body actual.body &&
-	git config --remove-section submodule.subname
+	git config --remove-section submodule.subname &&
+	git config --unset diff.ignoreSubmodules
 '

 test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match) [.gitmodules]' '
+	git config diff.ignoreSubmodules dirty &&
+	git diff HEAD >actual &&
+	! test -s actual &&
 	git config --add -f .gitmodules submodule.subname.ignore none &&
 	git config --add -f .gitmodules submodule.subname.path sub &&
 	git diff HEAD >actual &&
@@ -166,6 +173,7 @@ test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match)
 	test_cmp expect.body actual.body &&
 	git config --remove-section submodule.subname &&
 	git config --remove-section -f .gitmodules submodule.subname &&
+	git config --unset diff.ignoreSubmodules &&
 	rm .gitmodules
 '

diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index 1aae762..9c14b85 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -849,11 +849,15 @@ test_expect_success '--ignore-submodules=untracked suppresses submodules with un
 '

 test_expect_success '.gitmodules ignore=untracked suppresses submodules with untracked content' '
+	git config diff.ignoreSubmodules dirty &&
+	git status >output &&
+	test_cmp expect output &&
 	git config --add -f .gitmodules submodule.subname.ignore untracked &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git status > output &&
 	test_cmp expect output &&
-	git config -f .gitmodules  --remove-section submodule.subname
+	git config -f .gitmodules  --remove-section submodule.subname &&
+	git config --unset diff.ignoreSubmodules
 '

 test_expect_success '.git/config ignore=untracked suppresses submodules with untracked content' '
@@ -873,11 +877,15 @@ test_expect_success '--ignore-submodules=dirty suppresses submodules with untrac
 '

 test_expect_success '.gitmodules ignore=dirty suppresses submodules with untracked content' '
+	git config diff.ignoreSubmodules dirty &&
+	git status >output &&
+	! test -s actual &&
 	git config --add -f .gitmodules submodule.subname.ignore dirty &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git status > output &&
 	test_cmp expect output &&
-	git config -f .gitmodules  --remove-section submodule.subname
+	git config -f .gitmodules  --remove-section submodule.subname &&
+	git config --unset diff.ignoreSubmodules
 '

 test_expect_success '.git/config ignore=dirty suppresses submodules with untracked content' '
-- 
1.7.2.1.54.g6bed1
Previous: Jens LehmannNext: Junio C Hamano
Message 14 of 15 in “Submodules: Add the new config option "ignore"”
  1. 0/2 Submodules: Add the new config option "ignore"Jens Lehmann, Jul 26, 2010
  2. 1/2 Submodules: Add the new "ignore" config option for diff and statusJens Lehmann, Jul 26, 2010
  3. 2/2 Submodules: Use "ignore" settings from .gitmodules too for diff and statusJens Lehmann, Jul 26, 2010
  4. Junio C HamanoJul 28, 2010
  5. 0/2 Submodules: Add the new config option "ignore"Jens Lehmann, Aug 5, 2010
  6. 1/2 Submodules: Add the new "ignore" config option for diff and statusJens Lehmann, Aug 5, 2010
  7. 2/2 Submodules: Use "ignore" settings from .gitmodules too for diff and statusJens Lehmann, Aug 5, 2010
  8. Junio C HamanoAug 5, 2010
  9. Jens LehmannAug 5, 2010
  10. Junio C HamanoAug 9, 2010
  11. Johannes SchindelinAug 5, 2010
  12. Junio C HamanoAug 5, 2010
  13. Jens LehmannAug 5, 2010
  14. Add tests for the diff.ignoreSubmodules config optionJens Lehmann, Aug 5, 2010
  15. Junio C HamanoAug 9, 2010

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.