On 11/30/2015 08:05 PM, Junio C Hamano wrote:
Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> 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.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html