{"thread":{"id":"37755","subject":"[PATCH V2] core.filemode may need manual action","startedAt":"2014-10-17T21:39:44Z","lastAt":"2014-10-20T16:54:55Z","messageCount":3,"participants":["Torsten Bögershausen","Junio C Hamano"],"isPatch":true,"patchVersion":2,"patchTotal":null},"messages":[{"id":"250803","messageId":"54418CA0.6050503@web.de","threadId":"37755","inReplyTo":null,"subject":"[PATCH V2] core.filemode may need manual action","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2014-10-17T21:39:44Z","receivedAt":"2014-10-17T21:39:44Z","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\nThanks for careful reading.\nChanges since V1:\n- The '+' at an otherwise empty line generates an empty line\n  in html, so s/^$/+/\n- Changed msygit into Git for Windows\n- Mention Eclipse\n- Minor changes in the wording, remove one comma\n- Remove the \"The default is true, except \"\n  This line is maybe confusing.\n  \"The default is true\" is not wrong as such, we have\n  int trust_executable_bit = 1;\n  But: these days most repos have core.filemode defined,\n  so describing this default gives not much new information to the\n  user. (please correct me if that is wrong)\n  Especially the \"except\" is not really helpful, because\n  the default is always true, and git.git will always probe.\n  Any thoughts ?\n  Now we mention the probing 2 times, I am not 100% happy with this,\n  please see V2B\n\n  Another thing is that both Git for Windows and Eclipse can not handle\n  the filemode, and should silently ignore the flag, which is a different\n  patch.\n\n\n Documentation/config.txt | 23 +++++++++++++++++++----\n 1 file changed, 19 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 04a1e2f..959dc11 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -204,12 +204,27 @@ 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.  \"git init\" and\n+\t\"git clone\" probe the filesystem to see if it records\n+\texecutable bit correctly when they create a new repository\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+linkgit:git-clone[1] or linkgit:git-init[1]\n+will probe and set core.fileMode to true or false when the\n repository is created.\n \n core.ignorecase::\n-- \n2.1.0.rc2.210.g636bceb\n"},{"id":"250835","messageId":"xmqqr3y3r8lw.fsf@gitster.dls.corp.google.com","threadId":"37755","inReplyTo":"54418CA0.6050503@web.de","subject":"Re: [PATCH V2] core.filemode may need manual action","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-10-19T22:35:23Z","receivedAt":"2014-10-19T22:35:23Z","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> - The '+' at an otherwise empty line generates an empty line\n>   in html, so s/^$/+/\n\nI think the rule is actually that you cannot have multiple\nparagraphs in an enumerated list the same \"headword double-colon and\nthen indented paragraph\" way, and need to unindent second and\nsubsequent paragraphs, and have \"+\" before each of them, i.e.\n\n        .--------------------------------\n        |core.fileMode::\n        |\tHere is my first paragraph.\n        |+\n        |Here is my second one.\n        .--------------------------------\n\nThat is how the existing \"The default is true, except...\" paragraph\nis done, and I was hoping that you would notice it and follow that\nexample.\n"},{"id":"250860","messageId":"xmqq38ai4r6o.fsf@gitster.dls.corp.google.com","threadId":"37755","inReplyTo":"xmqqr3y3r8lw.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCH V2] core.filemode may need manual action","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-10-20T16:54:55Z","receivedAt":"2014-10-20T16:54:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Torsten Bögershausen <tboegi@web.de> writes:\n>\n>> - The '+' at an otherwise empty line generates an empty line\n>>   in html, so s/^$/+/\n>\n> I think the rule is actually that you cannot have multiple\n> paragraphs in an enumerated list the same \"headword double-colon and\n> then indented paragraph\" way, and need to unindent second and\n> subsequent paragraphs, and have \"+\" before each of them, i.e.\n>\n>         .--------------------------------\n>         |core.fileMode::\n>         |\tHere is my first paragraph.\n>         |+\n>         |Here is my second one.\n>         .--------------------------------\n>\n> That is how the existing \"The default is true, except...\" paragraph\n> is done, and I was hoping that you would notice it and follow that\n> example.\n\nI took your v2b and reformatted to follow the above; the result\nshould be queued on 'pu'.\n\nThanks.\n"}]}