{"thread":{"id":"37756","subject":"[PATCH V2B] core.filemode may need manual action","startedAt":"2014-10-17T21:40:23Z","lastAt":"2014-10-19T22:37:53Z","messageCount":2,"participants":["Torsten Bögershausen","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"250804","messageId":"54418CC7.80601@web.de","threadId":"37756","inReplyTo":null,"subject":"[PATCH V2B] core.filemode may need manual action","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2014-10-17T21:40:23Z","receivedAt":"2014-10-17T21:40:23Z","isPatch":true,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"core.filemode is set automatically when a repo is created.\nBut when a repo is exported via CIFS or cygwin is mixed with Git for Windows\nor Eclipse core.filemode may better be set manually to false.\nUpdate and improve the documentation\n\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\n---\n\nDoes this makes more sence ?\n\n Documentation/config.txt | 23 ++++++++++++++++++-----\n 1 file changed, 18 insertions(+), 5 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 04a1e2f..3127e5d 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -204,13 +204,26 @@ advice.*::\n --\n \n core.fileMode::\n-\tIf false, the executable bit differences between the index and\n-\tthe working tree are ignored; useful on broken filesystems like FAT.\n+\tTells Git if the executable bit of files in the working tree\n+\tis to be honored.\n++\n+\tSome filesystems lose the executable bit when a file that is\n+\tmarked as executable is checked out, or checks out an\n+\tnon-executable file with executable bit on.\n+\tlinkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem\n+\tto see if it handles the executable bit correctly\n+\tand this variable is automatically set as necessary.\n++\n+\tA repository, however, may be on a filesystem that handles\n+\tthe filemode correctly, and this variable is set to 'true'\n+\twhen created, but later may be made accessible from another\n+\tenvironment that loses the filemode (e.g. exporting ext4 via\n+\tCIFS mount, visiting a Cygwin created repository with\n+\tGit for Windows or Eclipse).\n+\tIn such a case it may be necessary to set this variable to 'false'.\n \tSee linkgit:git-update-index[1].\n +\n-The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]\n-will probe and set core.fileMode false if appropriate when the\n-repository is created.\n+The default is true (when core.filemode is not specified in the config file).\n \n core.ignorecase::\n \tIf true, this option enables various workarounds to enable\n-- \n2.1.0.rc2.210.g636bceb\n"},{"id":"250836","messageId":"xmqqmw8rr8hq.fsf@gitster.dls.corp.google.com","threadId":"37756","inReplyTo":"54418CC7.80601@web.de","subject":"Re: [PATCH V2B] core.filemode may need manual action","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-10-19T22:37:53Z","receivedAt":"2014-10-19T22:37:53Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Torsten Bögershausen <tboegi@web.de> writes:\n\n> Does this makes more sence ?\n\nGiving the links in-line in the text and avoiding to repeat the same\ninformation at the end like this version does probably makes sense.\nGood thinking.\n\nThanks.\n\n>\n>  Documentation/config.txt | 23 ++++++++++++++++++-----\n>  1 file changed, 18 insertions(+), 5 deletions(-)\n>\n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 04a1e2f..3127e5d 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -204,13 +204,26 @@ advice.*::\n>  --\n>  \n>  core.fileMode::\n> -\tIf false, the executable bit differences between the index and\n> -\tthe working tree are ignored; useful on broken filesystems like FAT.\n> +\tTells Git if the executable bit of files in the working tree\n> +\tis to be honored.\n> ++\n> +\tSome filesystems lose the executable bit when a file that is\n> +\tmarked as executable is checked out, or checks out an\n> +\tnon-executable file with executable bit on.\n> +\tlinkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem\n> +\tto see if it handles the executable bit correctly\n> +\tand this variable is automatically set as necessary.\n> ++\n> +\tA repository, however, may be on a filesystem that handles\n> +\tthe filemode correctly, and this variable is set to 'true'\n> +\twhen created, but later may be made accessible from another\n> +\tenvironment that loses the filemode (e.g. exporting ext4 via\n> +\tCIFS mount, visiting a Cygwin created repository with\n> +\tGit for Windows or Eclipse).\n> +\tIn such a case it may be necessary to set this variable to 'false'.\n>  \tSee linkgit:git-update-index[1].\n>  +\n> -The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]\n> -will probe and set core.fileMode false if appropriate when the\n> -repository is created.\n> +The default is true (when core.filemode is not specified in the config file).\n>  \n>  core.ignorecase::\n>  \tIf true, this option enables various workarounds to enable\n"}]}