From: Mark Levedahl Date: Tue, 16 Jul 2013 23:22:05 GMT Subject: Re: [PATCH] Cygwin has trustable filemode Message-ID: <51E5D59D.1010807@gmail.com> In-Reply-To: <51E5B903.9050601@ramsay1.demon.co.uk> On 07/16/2013 05:20 PM, Ramsay Jones wrote: > Mark Levedahl wrote: >> The supported Cygwin distribution on supported Windows versions provides >> complete support for POSIX filemodes, so enable this by default. git as >> distributed by the Cygwin project is configured this way. >> >> This fixes one testsuite failure: >> t3300 test 17 (diff-index -M -p with mode change quotes funny filename) > Huh? How is it running that test? Does cygwin 1.7 somehow allow tabs in > filenames? For me, on cygwin 1.5, that test reports: > > $ ./t3300-funny-names.sh > 1..0 # SKIP Your filesystem does not allow tabs in filenames > $ Cygwin 1.7 accesses the file system in a very different way than 1.5/earlier, so handles funny names with alacrity. >> > The motivation for the original patch had more to do with "windows people" > using win32 text editors which set the executable bit inappropriately. > (see commit c869753e). > > Since I use cygwin tools (vim), I don't have this problem. :-D This is a perfect use for the pre-commit script. I've been doing this for years, changing line endings and executability based upon file type. This could no doubt also be handled by gitattributes now as well. (Almost) all windows editors are perfectly happy with \n line endings, and none I know of care about execute permissions. I strongly believe that making the file line ending mode and execute status conform to cross-platform standards is the "right" approach rather than ignoring these on Windows then making others on other platforms clean up the mess later. Mark