Subject: Re: [PATCH 0/8] Improve git-status --ignored

From: Karsten Blees <[email-masked]>
Date: Tue, 19 Mar 2013 11:48:18 +0100

Am 19.03.2013 06:20, schrieb Duy Nguyen:
> On Tue, Mar 19, 2013 at 11:08 AM, Junio C Hamano <[email-masked]> wrote:
>> Karsten Blees <[email-masked]> writes:
>>
>>> This patch series addresses several bugs and performance issues in
>>> .gitignore processing that came up in the inotify discussion.
>>
>> Thanks.
>>
>> How does this interact with the nd/read-directory-recursive-optim
>> topic that has been cooking for a while?
> 
> I think 8/8 is another version of nd/read-directory-recursive-optim
> 

Yes. When reviewing Duy's patch, I wondered why we would need all those special cases (or: why is treat_file so damn complicated). It turned out that it gets much simpler after fixing some bugs and eliminating the is_excluded / is_path_excluded discrepancy. This variant also optimizes git-status --ignored.

I tried to express my ideas here [1], but I guess this was a bit unstructured, sorry :-)

Note that we could skip excluded checks for tracked directories as well if it weren't for the current notion of ignored tracked directories.

I'd still like to eliminate the second directory scan in git-status --ignored (i.e. don't call fill_directory twice, which would save ~50ms for linux and ~300ms for WebKit), but that's a bit more involved...

[1] http://thread.gmane.org/gmane.comp.version-control.git/217111