diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2017-10-25 22:40:40 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-10-26 04:29:06 +0200 |
commit | fadb4820c4a0178ce76c24d7b48b7ea70210727a (patch) | |
tree | f3d5697084a56a7e483f102a470e16cc5a0d28f5 /t/t7061-wtstatus-ignore.sh | |
parent | Git 2.13.6 (diff) | |
download | git-fadb4820c4a0178ce76c24d7b48b7ea70210727a.tar.xz git-fadb4820c4a0178ce76c24d7b48b7ea70210727a.zip |
status: do not get confused by submodules in excluded directories
We meticulously pass the `exclude` flag to the `treat_directory()`
function so that we can indicate that files in it are excluded rather
than untracked when recursing.
But we did not yet treat submodules the same way.
Because of that, `git status --ignored --untracked` with a submodule
`submodule` in a gitignored `tracked/` would show the submodule in the
"Untracked files" section, e.g.
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
tracked/submodule/
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
tracked/submodule/initial.t
Instead, we would want it to show the submodule in the "Ignored files"
section:
On branch master
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
tracked/submodule/
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7061-wtstatus-ignore.sh')
-rwxr-xr-x | t/t7061-wtstatus-ignore.sh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/t/t7061-wtstatus-ignore.sh b/t/t7061-wtstatus-ignore.sh index fc6013ba3c..0c394cf995 100755 --- a/t/t7061-wtstatus-ignore.sh +++ b/t/t7061-wtstatus-ignore.sh @@ -272,4 +272,15 @@ test_expect_success 'status ignored tracked directory with uncommitted file in t test_cmp expected actual ' +cat >expected <<\EOF +!! tracked/submodule/ +EOF + +test_expect_success 'status ignores submodule in excluded directory' ' + git init tracked/submodule && + test_commit -C tracked/submodule initial && + git status --porcelain --ignored -u tracked/submodule >actual && + test_cmp expected actual +' + test_done |