Re: [PATCH 3/3] Convert all fnmatch() calls to wildmatch()
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Dec 20, 2012, 12:36 UTC
- Message-ID
- <CACsJy8B3jdE5h272d0-R-OUcS-Fput+7ADBT4UZEMf58b9=2eA@mail.gmail.com>
- In-Reply-To
- <7v8v8tanyn.fsf@alter.siamese.dyndns.org>
On Thu, Dec 20, 2012 at 1:36 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 13 quoted lines
>> @@ -627,7 +628,7 @@ enum interesting tree_entry_interesting(const struct name_entry *entry,
>> return entry_interesting;
>>
>> if (item->use_wildcard) {
>> - if (!fnmatch(match + baselen, entry->path, 0))
>> + if (!wildmatch(match + baselen, entry->path, 0))
>> return entry_interesting;
>
> This and the change to dir.c obviously have interactions with
> 8c6abbc (pathspec: apply "*.c" optimization from exclude,
> 2012-11-24).
>
> I've already alluded to it in my response to 2/3, I guess.Conflict of plans. I did not expect myself to work on replacing fnmatch soon and git_fnmatch is an intermediate step to collect more optimizations and gradually replace fnmatch. Eventually git_fnmatch() would become a wrapper of wildmatch, all the optimizations are pushed down there. If we replace fnmatch->wildmatch first then there's little reason for the existence of git_fnmatch(). Maybe I should merge this with the fnmatch elimination into a single series.
-- Duy