Merge branch 'js/submodule-in-excluded'
"git status --ignored -u" did not stop at a working tree of a separate project that is embedded in an ignored directory and listed files in that other project, instead of just showing the directory itself as ignored. * js/submodule-in-excluded: status: do not get confused by submodules in excluded directories
This commit is contained in:
commit
da7996aaf7
2
dir.c
2
dir.c
@ -1392,7 +1392,7 @@ static enum path_treatment treat_directory(struct dir_struct *dir,
|
|||||||
if (!(dir->flags & DIR_NO_GITLINKS)) {
|
if (!(dir->flags & DIR_NO_GITLINKS)) {
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
if (resolve_gitlink_ref(dirname, "HEAD", sha1) == 0)
|
if (resolve_gitlink_ref(dirname, "HEAD", sha1) == 0)
|
||||||
return path_untracked;
|
return exclude ? path_excluded : path_untracked;
|
||||||
}
|
}
|
||||||
return path_recurse;
|
return path_recurse;
|
||||||
}
|
}
|
||||||
|
@ -272,4 +272,15 @@ test_expect_success 'status ignored tracked directory with uncommitted file in t
|
|||||||
test_cmp expected actual
|
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
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user