diff: do not show submodule with untracked files as "-dirty"
Git diff reports a submodule directory as -dirty even when there are only untracked files in the submodule directory. This is inconsistent with what `git describe --dirty` says when run in the submodule directory in that state. Make `--ignore-submodules=untracked` the default for `git diff` when there is no configuration variable or command line option, so that the command would not give '-dirty' suffix to a submodule whose working tree has untracked files, to make it consistent with `git describe --dirty` that is run in the submodule working tree. And also make `--ignore-submodules=none` the default for `git status` so that the user doesn't end up deleting a submodule that has uncommitted (untracked) files. Signed-off-by: Sangeeta Jain <sangunb09@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
2e673356ae
commit
8ef9312464
@ -262,7 +262,7 @@ test_expect_success 'submodule is up to date' '
|
||||
|
||||
test_expect_success 'submodule contains untracked content' '
|
||||
echo new > sm1/new-file &&
|
||||
git diff-index -p --submodule=log HEAD >actual &&
|
||||
git diff-index -p --ignore-submodules=none --submodule=log HEAD >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
Submodule sm1 contains untracked content
|
||||
EOF
|
||||
@ -270,7 +270,7 @@ test_expect_success 'submodule contains untracked content' '
|
||||
'
|
||||
|
||||
test_expect_success 'submodule contains untracked content (untracked ignored)' '
|
||||
git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
|
||||
git diff-index -p --submodule=log HEAD >actual &&
|
||||
test_must_be_empty actual
|
||||
'
|
||||
|
||||
@ -286,7 +286,7 @@ test_expect_success 'submodule contains untracked content (all ignored)' '
|
||||
|
||||
test_expect_success 'submodule contains untracked and modified content' '
|
||||
echo new > sm1/foo6 &&
|
||||
git diff-index -p --submodule=log HEAD >actual &&
|
||||
git diff-index -p --ignore-submodules=none --submodule=log HEAD >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
Submodule sm1 contains untracked content
|
||||
Submodule sm1 contains modified content
|
||||
@ -296,7 +296,7 @@ test_expect_success 'submodule contains untracked and modified content' '
|
||||
|
||||
test_expect_success 'submodule contains untracked and modified content (untracked ignored)' '
|
||||
echo new > sm1/foo6 &&
|
||||
git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
|
||||
git diff-index -p --submodule=log HEAD >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
Submodule sm1 contains modified content
|
||||
EOF
|
||||
@ -337,7 +337,7 @@ test_expect_success 'submodule is modified' '
|
||||
|
||||
test_expect_success 'modified submodule contains untracked content' '
|
||||
echo new > sm1/new-file &&
|
||||
git diff-index -p --submodule=log HEAD >actual &&
|
||||
git diff-index -p --ignore-submodules=none --submodule=log HEAD >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
Submodule sm1 contains untracked content
|
||||
Submodule sm1 $head6..$head8:
|
||||
@ -347,7 +347,7 @@ test_expect_success 'modified submodule contains untracked content' '
|
||||
'
|
||||
|
||||
test_expect_success 'modified submodule contains untracked content (untracked ignored)' '
|
||||
git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
|
||||
git diff-index -p --submodule=log HEAD >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
Submodule sm1 $head6..$head8:
|
||||
> change
|
||||
@ -371,7 +371,7 @@ test_expect_success 'modified submodule contains untracked content (all ignored)
|
||||
|
||||
test_expect_success 'modified submodule contains untracked and modified content' '
|
||||
echo modification >> sm1/foo6 &&
|
||||
git diff-index -p --submodule=log HEAD >actual &&
|
||||
git diff-index -p --ignore-submodules=none --submodule=log HEAD >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
Submodule sm1 contains untracked content
|
||||
Submodule sm1 contains modified content
|
||||
@ -383,7 +383,7 @@ test_expect_success 'modified submodule contains untracked and modified content'
|
||||
|
||||
test_expect_success 'modified submodule contains untracked and modified content (untracked ignored)' '
|
||||
echo modification >> sm1/foo6 &&
|
||||
git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
|
||||
git diff-index -p --submodule=log HEAD >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
Submodule sm1 contains modified content
|
||||
Submodule sm1 $head6..$head8:
|
||||
|
Reference in New Issue
Block a user