Subject: [PATCH] core.filemode may need manual action

From: Torsten Bögershausen <[email-masked]>
Date: Thu, 16 Oct 2014 21:29:49 +0200

core.filemode is set automatically when a repo is created.
But when a repo is exported via CIFS or cygwin is mixed with Git for Windows
core.filemode may better be set manually to false.
Update and improve the documentation.

Helped-by: Junio C Hamano <[email-masked]>
Signed-off-by: Torsten Bögershausen <[email-masked]>
---

Does this reflect the discussion via email ?
Or is more tweaking needed ?

 Documentation/config.txt | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/Documentation/config.txt b/Documentation/config.txt
index 4333636..b4fea43 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -204,8 +204,23 @@ advice.*::
 --
 
 core.fileMode::
-	If false, the executable bit differences between the index and
-	the working tree are ignored; useful on broken filesystems like FAT.
+	Tells Git if the executable bit of files in the working tree
+	is to be honored.
+
+	Some filesystems lose the executable bit when a file that is
+	marked as executable is checked out, or checks out an
+	non-executable file with executable bit on.  "git init" and
+	"git clone" probe the filesystem to see if it records
+	executable bit correctly when they create a new repository
+	and this variable is automatically set as necessary.
+
+	A repository, however, may be on a filesystem that records
+	the filemode correctly, and this variable is set to 'true'
+	when created, but later may be made accessible from another
+	environment that loses the filemode (e.g. exporting ext4 via
+	CIFS mount, visiting a Cygwin managed repository with
+	MsysGit).  In such a case, it may be necessary to set this
+	variable to 'false'.
 	See linkgit:git-update-index[1].
 +
 The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]
-- 
2.0.0.GIT