On Thu, Aug 22, 2013 at 5:59 PM, Eric Sunshine <sunsh...@sunshineco.com> wrote:
> On Thu, Aug 22, 2013 at 5:43 PM, Junio C Hamano <gits...@pobox.com> wrote:
>> Eric Sunshine <sunsh...@sunshineco.com> writes:
>>> On Thu, Aug 22, 2013 at 5:32 PM, Junio C Hamano <gits...@pobox.com> wrote:
>>>> Now, I am curious how it breaks on OS X.
>>>> My suspition is that "ignore_case" may have something to do with it,
>>>> but what 2eac2a4c (ls-files -k: a directory only can be killed if
>>>> the index has a non-directory, 2013-08-15) uses are the bog-standard
>>>> cache_name_exists() and directory_exists_in_index(), so one of these
>>>> internal API implementation has trouble on case insensitive
>>>> filesystems, perhaps? I dunno.
>>> That's exactly my suspicion at the moment. It's an obvious difference
>>> between Linux and OS X. I'm just in the process of trying to compare
>>> between the two platforms.
>> Or perhaps de->d_type does not exist? In such a case, we end up
>> doing get_index_dtype() via get_dtype(), but in this codepath I
>> suspect that we do not want to. We are interested in the type of
>> the entity on the filesystem.
> de->d_type exists on both platforms. get_dtype() is never called.
> However, I did discover that treat_path() is being invoked fewer times
> on OSX than on Linux. For instance, in the repository created by
> t3010, treat_path() is called 19 times on Linux, but only 17 times on
Status update: For the 'pathx' directory created by the t3010 test,
directory_exists_in_index() returns false on OSX, but true is returned
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html