Subject: Re: [PATCH] git-init: don't base core.filemode on the ability to chmod.

From: Junio C Hamano <[email-masked]>
Date: Thu, 04 Oct 2007 01:21:02 -0700

Martin Waitz <[email-masked]> writes:

> hoi :)
>
> On Wed, Oct 03, 2007 at 11:23:22PM -0700, Junio C Hamano wrote:
>> filemode = !( (st1.st_mode & S_IXUSR)
>>         	/* we did not ask for x-bit -- bogus FS */
>> 	    || chmod(path, st1.st_mode & S_IXUSR)
>>         	/* it does not let us flip x-bit -- bogus FS */
>> 	    || lstat(path, &st2)
>>         	/* it does not let us read back -- bogus FS */
>> 	    || (st1.st_mode == st2.st_mode)
>> 	        /* it forgets we flipped -- bogus FS */
>> 	    );
>
> that looks good.

FWIW, I did not mean it to be an example for preferred
indentation nor code layout, but as a better way to explain what
the logic is computing.

I do not think git on Cygwin nor WinGit creates $GIT_DIR/config
with executable bit set.  Is this pretty much a workaround only
for vfat-on-Linux ?