@@ -205,6 +205,21 @@ Submodule sm1 contains untracked content
205205EOF
206206"
207207
208+ test_expect_success ' submodule contains untracked content (untracked ignored)' "
209+ git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
210+ ! test -s actual
211+ "
212+
213+ test_expect_success ' submodule contains untracked content (dirty ignored)' "
214+ git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual &&
215+ ! test -s actual
216+ "
217+
218+ test_expect_success ' submodule contains untracked content (all ignored)' "
219+ git diff-index -p --ignore-submodules=all --submodule=log HEAD >actual &&
220+ ! test -s actual
221+ "
222+
208223test_expect_success ' submodule contains untracked and modifed content' "
209224 echo new > sm1/foo6 &&
210225 git diff-index -p --submodule=log HEAD >actual &&
@@ -214,6 +229,26 @@ Submodule sm1 contains modified content
214229EOF
215230"
216231
232+ test_expect_success ' submodule contains untracked and modifed content (untracked ignored)' "
233+ echo new > sm1/foo6 &&
234+ git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
235+ diff actual - <<-EOF
236+ Submodule sm1 contains modified content
237+ EOF
238+ "
239+
240+ test_expect_success ' submodule contains untracked and modifed content (dirty ignored)' "
241+ echo new > sm1/foo6 &&
242+ git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual &&
243+ ! test -s actual
244+ "
245+
246+ test_expect_success ' submodule contains untracked and modifed content (all ignored)' "
247+ echo new > sm1/foo6 &&
248+ git diff-index -p --ignore-submodules --submodule=log HEAD >actual &&
249+ ! test -s actual
250+ "
251+
217252test_expect_success ' submodule contains modifed content' "
218253 rm -f sm1/new-file &&
219254 git diff-index -p --submodule=log HEAD >actual &&
@@ -242,6 +277,27 @@ Submodule sm1 $head6..$head8:
242277EOF
243278"
244279
280+ test_expect_success ' modified submodule contains untracked content (untracked ignored)' "
281+ git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
282+ diff actual - <<-EOF
283+ Submodule sm1 $head6 ..$head8 :
284+ > change
285+ EOF
286+ "
287+
288+ test_expect_success ' modified submodule contains untracked content (dirty ignored)' "
289+ git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual &&
290+ diff actual - <<-EOF
291+ Submodule sm1 $head6 ..$head8 :
292+ > change
293+ EOF
294+ "
295+
296+ test_expect_success ' modified submodule contains untracked content (all ignored)' "
297+ git diff-index -p --ignore-submodules=all --submodule=log HEAD >actual &&
298+ ! test -s actual
299+ "
300+
245301test_expect_success ' modified submodule contains untracked and modifed content' "
246302 echo modification >> sm1/foo6 &&
247303 git diff-index -p --submodule=log HEAD >actual &&
@@ -253,6 +309,31 @@ Submodule sm1 $head6..$head8:
253309EOF
254310"
255311
312+ test_expect_success ' modified submodule contains untracked and modifed content (untracked ignored)' "
313+ echo modification >> sm1/foo6 &&
314+ git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
315+ diff actual - <<-EOF
316+ Submodule sm1 contains modified content
317+ Submodule sm1 $head6 ..$head8 :
318+ > change
319+ EOF
320+ "
321+
322+ test_expect_success ' modified submodule contains untracked and modifed content (dirty ignored)' "
323+ echo modification >> sm1/foo6 &&
324+ git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual &&
325+ diff actual - <<-EOF
326+ Submodule sm1 $head6 ..$head8 :
327+ > change
328+ EOF
329+ "
330+
331+ test_expect_success ' modified submodule contains untracked and modifed content (all ignored)' "
332+ echo modification >> sm1/foo6 &&
333+ git diff-index -p --ignore-submodules --submodule=log HEAD >actual &&
334+ ! test -s actual
335+ "
336+
256337test_expect_success ' modified submodule contains modifed content' "
257338 rm -f sm1/new-file &&
258339 git diff-index -p --submodule=log HEAD >actual &&
0 commit comments