Junio C Hamano schrieb:
Martin Waitz [off-list ref] writes:
quoted
On Wed, Oct 03, 2007 at 11:23:22PM -0700, Junio C Hamano wrote:
quoted
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.
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 ?
I think so. Here on Windows, 'ls -l' after 'git init' tells that .git/config
is not executable (both FAT and NTFS). But, anyway, as far as the MinGW port
is concerned, at least the last condition in the sequence above triggers and
causes filemode=false, which is good.
-- Hannes