Matheus Tavares <matheus.bernardino@xxxxxx> 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?