Subject: Re: [RFC/PATCH 0/1] cygwin: Remove the Win32 l/stat() functions

From: Johannes Sixt <[email-masked]>
Date: Tue, 25 Jun 2013 21:23:18 +0200

Am 25.06.2013 00:10, schrieb Junio C Hamano:
> Mark Levedahl <[email-masked]> writes:
> 
>> On 06/22/2013 03:38 PM, Ramsay Jones wrote:
>>> Also, apart from running the git test-suite, I have the Win32
>>> l/stat functions disabled on all of my repos. In particular, I have
>>> core.filemode set to true. (At one point, I used to build git with
>>> NO_TRUSTABLE_FILEMODE reset so that I wouldn't have to remember to
>>> reset core.filemode by hand after a git-clone or git-init). I should
>>> also note that I run MinGW git on the same laptop and, using git.git
>>> as an example, it does not seem that much faster (if at all) than
>>> cygwin git.
>>
>> After applying your patch to master, I've had the test-suite running
>> in a VM using WinXP + current cygwin (v1.7.x) for about 8 hours, no
>> failures so far but it could take another day to complete.
>>
>> I never found any real speed up using the Win32 stat/lstat functions,
>> and the lack of Posix compatibility breaking cross-platform projects,
>> links, etc.,  made this function a mis-feature in my opinion for
>> years. As I found no positive benefit from the Win32 lstat, I modified
>> git for local use years ago to set core.filemode=true when cloning /
>> initing to avoid as many issues as possible.
> 
> So that's two votes to use the vanilla Cygwin stat/lstat,
> essentially reverting adbc0b6b (cygwin: Use native Win32 API for
> stat, 2008-09-30), which was added by Dmitry and Shawn while I was
> away.
> 
> Let's wait and see if people give us more data points and decide.

That'll be more productive if we let the list know ;-)

Some context: This is about a patch by Ramsay that removes the
"schizophrenic lstat" hack for Cygwin. Junio, can you please queue that
patch in pu?

-- Hannes