diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-08-24 14:54:29 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-08-24 14:54:29 -0700 |
commit | 11f433f79c790bcb5feae71b0320161d7ab7dea7 (patch) | |
tree | 3e45944daa791896d03ab00afa52a0275c10273a /dir.c | |
parent | Merge branch 'ds/midx-repack-to-batch-size' (diff) | |
parent | dir: avoid prematurely marking nonbare repositories as matches (diff) | |
download | tgif-11f433f79c790bcb5feae71b0320161d7ab7dea7.tar.xz |
Merge branch 'en/dir-nonbare-embedded'
"ls-files -o" mishandled the top-level directory of another git
working tree that hangs in the current git working tree.
* en/dir-nonbare-embedded:
dir: avoid prematurely marking nonbare repositories as matches
t3000: fix some test description typos
Diffstat (limited to 'dir.c')
-rw-r--r-- | dir.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -1792,9 +1792,12 @@ static enum path_treatment treat_directory(struct dir_struct *dir, nested_repo = is_nonbare_repository_dir(&sb); strbuf_release(&sb); } - if (nested_repo) - return ((dir->flags & DIR_SKIP_NESTED_GIT) ? path_none : - (excluded ? path_excluded : path_untracked)); + if (nested_repo) { + if ((dir->flags & DIR_SKIP_NESTED_GIT) || + (matches_how == MATCHED_RECURSIVELY_LEADING_PATHSPEC)) + return path_none; + return excluded ? path_excluded : path_untracked; + } if (!(dir->flags & DIR_SHOW_OTHER_DIRECTORIES)) { if (excluded && |