Torsten Bögershausen
2014-10-16 19:29:49 UTC
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 Wi=
ndows
core.filemode may better be set manually to false.
Update and improve the documentation.
Helped-by: Junio C Hamano <***@pobox.com>
Signed-off-by: Torsten B=C3=B6gershausen <***@web.de>
---
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.*::
--
=20
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=
]
--=20
2.0.0.GIT
But when a repo is exported via CIFS or cygwin is mixed with Git for Wi=
ndows
core.filemode may better be set manually to false.
Update and improve the documentation.
Helped-by: Junio C Hamano <***@pobox.com>
Signed-off-by: Torsten B=C3=B6gershausen <***@web.de>
---
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.*::
--
=20
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=
]
--=20
2.0.0.GIT