Hi Elijah,
On Tue, Oct 01, 2019 at 11:30:05AM -0700, Elijah Newren wrote:
[...]
> diff --git a/dir.c b/dir.c
> index 7ff79170fc..bd39b86be4 100644
> --- a/dir.c
> +++ b/dir.c
> @@ -1962,8 +1962,9 @@ static enum path_treatment
> read_directory_recursive(struct dir_struct *dir,
> ((state == path_untracked) &&
> (get_dtype(cdir.de, istate, path.buf, path.len) ==
> DT_DIR) &&
> ((dir->flags & DIR_SHOW_IGNORED_TOO) ||
> - do_match_pathspec(istate, pathspec, path.buf,
> path.len,
> - baselen, NULL,
> DO_MATCH_LEADING_PATHSPEC) == MATCHED_RECURSIVELY_LEADING_PATHSPEC))) {
> + (pathspec &&
> + do_match_pathspec(istate, pathspec, path.buf,
> path.len,
> + baselen, NULL,
> DO_MATCH_LEADING_PATHSPEC) == MATCHED_RECURSIVELY_LEADING_PATHSPEC)))) {
> struct untracked_cache_dir *ud;
> ud = lookup_untracked(dir->untracked, untracked,
> path.buf + baselen,
> @@ -1975,7 +1976,8 @@ static enum path_treatment
> read_directory_recursive(struct dir_struct *dir,
> if (subdir_state > dir_state)
> dir_state = subdir_state;
>
> - if (!match_pathspec(istate, pathspec, path.buf,
> path.len,
> + if (pathspec &&
> + !match_pathspec(istate, pathspec, path.buf,
> path.len,
> 0 /* prefix */, NULL,
> 0 /* do NOT special case dirs */))
> state = path_none;
> diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh
> index 192c94eccd..a840919967 100755
> --- a/t/t0050-filesystem.sh
> +++ b/t/t0050-filesystem.sh
> @@ -131,4 +131,25 @@ $test_unicode 'merge (silent unicode normalization)' '
> git merge topic
> '
>
> +test_expect_success CASE_INSENSITIVE_FS 'checkout with no pathspec and a
> case insensitive fs' '
> + git init repo &&
> + (
> + cd repo &&
> +
> + >Gitweb &&
> + git add Gitweb &&
> + git commit -m "add Gitweb" &&
> +
> + git checkout --orphan todo &&
> + git reset --hard &&
> + mkdir -p gitweb/subdir &&
> + >gitweb/subdir/file &&
> + # it is not strictly necessary to add and commit the
Probably not worth a reroll but we're missing "gitweb directory" at the
end of the comment. Other than that, it looks good to me.
Thanks again for the prompt fix,
Denton
> + git add gitweb &&
> + git commit -m "add gitweb/subdir/file" &&
> +
> + git checkout master
> + )
> +'
> +
> test_done
> --
> 2.23.0.25.g3f4444bfd7.dirty
>