Re: [PATCH v3 5/7] refresh_index(): add REFRESH_DONT_MARK_SPARSE_MATCHES flag
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 19, 2021, 00:00 UTC
- Message-ID
- <xmqqo8fgovuz.fsf@gitster.g>
- In-Reply-To
- <xmqqsg4sowks.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 15 quoted lines
> Matheus Tavares <matheus.bernardino@usp.br> 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.