Subject: Re: [PATCH v3 5/7] refresh_index(): add REFRESH_DONT_MARK_SPARSE_MATCHES flag

From: Junio C Hamano <[email-masked]>
Date: Thu, 18 Mar 2021 16:45:23 -0700

Matheus Tavares <[email-masked]> writes:

> refresh_index() optionally takes a seen[] array to mark the pathspec
> items that had matches in the index. This is used by `git add --refresh`
> to find out if there was any pathspec without matches, and display an
> error accordingly.

It smells a bit iffy in that this allows a path to "match" a pattern
but yet not result in seen[] to record that the pattern participated
in the match.  If the series is working towards certain operations
not to touch paths that are outside the sparse checkout, shouldn't
it be making these paths not to match the pattern, and by doing so
it would automatically cause the pattern to be considered "not yet
matching any path" when the matcher attempts to match the pattern to
such a path?