Junio C Hamano <gitster@xxxxxxxxx> writes: > 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? In other words, the change makes me wonder why we are not adding a flag that says "do we or do we not want to match paths outside the sparse checkout cone?", with which the seen[] would automatically record the right thing.