From: Torsten Bögershausen Date: Tue, 01 Dec 2015 05:57:05 GMT Subject: Re: [RFC/PATCH] config: add core.trustmtime Message-ID: <565D36B1.9050104@web.de> In-Reply-To: On 11/30/2015 08:05 PM, Junio C Hamano wrote: > Ævar Arnfjörð Bjarmason writes: > >> Maybe I'm missing some really common breakage with st_mtime on some >> system, but having a feature the user explicitly enables turn itself >> off and doing FS-testing that takes 10 seconds when it's enabled seems >> like the wrong default to me. >> >> We don't do it with core.fileMode, core.ignorecase or core.trustctime >> or core.symlinks. Do we really need to be treating this differently? > I share the exact thought. I was looking the other way when > untracked-cache was done originally ;-), and I would also want to > know the answers to the above questions. Maybe somewhat off topic, but: Create a repo under Linux: Linux will probe the FS and will set core.filemode true core.ignorecase false. Export it using SAMBA to Windows or Mac OS X. In some magical way the mounted repo becomes case-insensitive under both Mac and Windows, even if core.ignorecase is true in the config file. Same for filemode: (Git for Windows doesn't see the execute bit at all, but relies on core.filemode anyway) Depending how the repo is mounted on the Mac, the execute bits may work, be always 0 or always 1. Relying on this kind of config files is not ideal in a networked environment. It is not ideal when different implementations of Git access the same repo, (Git for Windows vs cygwin vs Egit/Jgit) So I think that the original patch could make Git unreliable under some circumstances. And some day I may send a patch which does a quick auto-probe for filemode and ignorecase, to adjust Git to what the underlying "local OS - network - remote OS - remote FS" really achieves.