Skip to contentSkip to conversation

core.filemode may need manual action

PATCH In review Torsten Bögershausen 2 participants 2 messages Jun 15, 2016 Documentation

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 core.filemode may need manual action

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 or Eclipse core.filemode may better be set manually to false. Update and improve the documentation

---

Does this makes more sence ?

 Documentation/config.txt | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)
Documentation/config.txt +18 -5
index 04a1e2f..3127e5d 100644
@@ -204,13 +204,26 @@ 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.
+	linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem
+	to see if it handles the executable bit correctly
+	and this variable is automatically set as necessary.
++
+	A repository, however, may be on a filesystem that handles
+	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 created repository with
+	Git for Windows or Eclipse).
+	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]
-will probe and set core.fileMode false if appropriate when the
-repository is created.
+The default is true (when core.filemode is not specified in the config file).
 
 core.ignorecase::
 	If true, this option enables various workarounds to enable
Signature · 1 line
2.1.0.rc2.210.g636bceb
#1 lore raw
Quoted 1 line · Torsten Bögershausen

Does this makes more sence ?

Giving the links in-line in the text and avoiding to repeat the same information at the end like this version does probably makes sense. Good thinking.

Thanks.

Quoted 40 lines
 Documentation/config.txt | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)
Documentation/config.txt +18 -5
index 04a1e2f..3127e5d 100644
@@ -204,13 +204,26 @@ 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.
+	linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem
+	to see if it handles the executable bit correctly
+	and this variable is automatically set as necessary.
++
+	A repository, however, may be on a filesystem that handles
+	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 created repository with
+	Git for Windows or Eclipse).
+	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]
-will probe and set core.fileMode false if appropriate when the
-repository is created.
+The default is true (when core.filemode is not specified in the config file).
 
 core.ignorecase::
 	If true, this option enables various workarounds to enable