Code

Force core.filemode to false on Cygwin.
authorShawn O. Pearce <spearce@spearce.org>
Sun, 31 Dec 2006 04:53:55 +0000 (23:53 -0500)
committerJunio C Hamano <junkio@cox.net>
Sun, 31 Dec 2006 06:21:31 +0000 (22:21 -0800)
commitc869753ebbb00e188da5ab308d42cc738335f0ab
treebcabcb2df9c95db2a9f8c6c85a52dd80b73983ee
parent400e74df98e0808ccf233025fe700a316f65854c
Force core.filemode to false on Cygwin.

Many users have noticed that core.filemode doesn't appear to be
automatically set right on Cygwin when using a repository stored
on NTFS.  The issue is that Cygwin and NTFS correctly supports
the executable mode bit, and Git properly detected that, but most
native Windows applications tend to create files such that Cygwin
sees the executable bit set when it probably shouldn't be.

This is especially bad if the user's favorite editor deletes the
file then recreates it whenever they save (vs. just overwriting)
as now a file that was created with mode 0644 by checkout-index
appears to have mode 0755.

So we introduce NO_TRUSTABLE_FILEMODE, settable at compile time.
Setting this option forces core.filemode to false, even if the
detection code would have returned true.  This option should be
enabled by default on Cygwin.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Makefile
builtin-init-db.c