From: Junio C Hamano Date: Thu, 04 Oct 2007 08:21:02 GMT Subject: Re: [PATCH] git-init: don't base core.filemode on the ability to chmod. Message-ID: <7vir5nb89d.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20071004071751.GD20800@admingilde.org> Martin Waitz 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 ?