Merge pull request #1179 from dscho/submodule-in-excluded

status: do not get confused by submodules in excluded directories
This commit is contained in:
Johannes Schindelin
2017-10-29 16:49:31 +01:00
2 changed files with 15 additions and 1 deletions

2
dir.c
View File

@@ -1392,7 +1392,7 @@ static enum path_treatment treat_directory(struct dir_struct *dir,
if (!(dir->flags & DIR_NO_GITLINKS)) {
unsigned char sha1[20];
if (resolve_gitlink_ref(dirname, "HEAD", sha1) == 0)
return path_untracked;
return exclude ? path_excluded : path_untracked;
}
return path_recurse;
}

View File

@@ -272,4 +272,18 @@ 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 &&
(
cd tracked/submodule &&
test_commit initial
) &&
git status --porcelain --ignored -u tracked/submodule >actual &&
test_cmp expected actual
'
test_done