{"thread":{"id":"37747","subject":"[PATCH] core.filemode may need manual action","startedAt":"2014-10-16T19:29:49Z","lastAt":"2014-10-16T20:12:10Z","messageCount":4,"participants":["Torsten Bögershausen","Thomas Braun","Johannes Schindelin","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"250765","messageId":"54401CAD.4090606@web.de","threadId":"37747","inReplyTo":null,"subject":"[PATCH] core.filemode may need manual action","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2014-10-16T19:29:49Z","receivedAt":"2014-10-16T19:29:49Z","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\ncore.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 reflect the discussion via email ?\nOr is more tweaking needed ?\n\n\n Documentation/config.txt | 19 +++++++++++++++++--\n 1 file changed, 17 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 4333636..b4fea43 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -204,8 +204,23 @@ 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 records\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 managed repository with\n+\tMsysGit).  In such a case, it may be necessary to set this\n+\tvariable 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-- \n2.0.0.GIT\n"},{"id":"250767","messageId":"54401F38.7080101@virtuell-zuhause.de","threadId":"37747","inReplyTo":"54401CAD.4090606@web.de","subject":"Re: [PATCH] core.filemode may need manual action","fromName":"Thomas Braun","fromEmail":"thomas.braun@virtuell-zuhause.de","sentAt":"2014-10-16T19:40:40Z","receivedAt":"2014-10-16T19:40:40Z","isPatch":true,"sender":{"key":"thomas.braun@virtuell-zuhause.de","avatar":"https://avatars.githubusercontent.com/u/1185677?v=4"},"body":"Am 16.10.2014 um 21:29 schrieb Torsten Bögershausen:\n> core.filemode is set automatically when a repo is created.\n> But when a repo is exported via CIFS or cygwin is mixed with Git for Windows\n> core.filemode may better be set manually to false.\n> Update and improve the documentation.\n> \n> Helped-by: Junio C Hamano <gitster@pobox.com>\n> Signed-off-by: Torsten Bögershausen <tboegi@web.de>\n> ---\n> \n> Does this reflect the discussion via email ?\n> Or is more tweaking needed ?\n> \n> \n>  Documentation/config.txt | 19 +++++++++++++++++--\n>  1 file changed, 17 insertions(+), 2 deletions(-)\n> \n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 4333636..b4fea43 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -204,8 +204,23 @@ 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 records\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 managed repository with\n> +\tMsysGit).  In such a case, it may be necessary to set this\n> +\tvariable 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> \n\n[CC'ing msysgit aka git-for-windows/sdk for input]\n\nI'm not really happy with the term MsysGit here.\nWould it be too bold to say\n[... ] visiting a Cygwin managed repository with Git for Windows.\n?\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"Git for Windows\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"250768","messageId":"alpine.DEB.1.00.1410162146140.990@s15462909.onlinehome-server.info","threadId":"37747","inReplyTo":"54401F38.7080101@virtuell-zuhause.de","subject":"Re: [PATCH] core.filemode may need manual action","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2014-10-16T19:47:16Z","receivedAt":"2014-10-16T19:47:16Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 16 Oct 2014, Thomas Braun wrote:\n\n> Am 16.10.2014 um 21:29 schrieb Torsten Bögershausen:\n> > core.filemode is set automatically when a repo is created.\n> > But when a repo is exported via CIFS or cygwin is mixed with Git for Windows\n> > core.filemode may better be set manually to false.\n> > Update and improve the documentation.\n> > \n> > Helped-by: Junio C Hamano <gitster@pobox.com>\n> > Signed-off-by: Torsten Bögershausen <tboegi@web.de>\n> > ---\n> > \n> > Does this reflect the discussion via email ?\n> > Or is more tweaking needed ?\n> > \n> > \n> >  Documentation/config.txt | 19 +++++++++++++++++--\n> >  1 file changed, 17 insertions(+), 2 deletions(-)\n> > \n> > diff --git a/Documentation/config.txt b/Documentation/config.txt\n> > index 4333636..b4fea43 100644\n> > --- a/Documentation/config.txt\n> > +++ b/Documentation/config.txt\n> > @@ -204,8 +204,23 @@ 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 records\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 managed repository with\n> > +\tMsysGit).  In such a case, it may be necessary to set this\n> > +\tvariable 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> > \n> \n> [CC'ing msysgit aka git-for-windows/sdk for input]\n> \n> I'm not really happy with the term MsysGit here.\n> Would it be too bold to say\n> [... ] visiting a Cygwin managed repository with Git for Windows.\n> ?\n\nI agree that msysGit is the wrong term. Not only is it about to be\nreplaced by the Git for Windows SDK, it is *actively* wrong because\nmsysGit is just the *development environment* to build Git for Windows.\nMost users do *not* need msysGit at all.\n\nCiao,\nDscho\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"Git for Windows\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"250769","messageId":"xmqq61fju63p.fsf@gitster.dls.corp.google.com","threadId":"37747","inReplyTo":"54401CAD.4090606@web.de","subject":"Re: [PATCH] core.filemode may need manual action","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-10-16T20:12:10Z","receivedAt":"2014-10-16T20:12:10Z","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> core.filemode is set automatically when a repo is created.\n> But when a repo is exported via CIFS or cygwin is mixed with Git for Windows\n> core.filemode may better be set manually to false.\n> Update and improve the documentation.\n>\n> Helped-by: Junio C Hamano <gitster@pobox.com>\n> Signed-off-by: Torsten Bögershausen <tboegi@web.de>\n> ---\n>\n> Does this reflect the discussion via email ?\n> Or is more tweaking needed ?\n>\n>\n>  Documentation/config.txt | 19 +++++++++++++++++--\n>  1 file changed, 17 insertions(+), 2 deletions(-)\n>\n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 4333636..b4fea43 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -204,8 +204,23 @@ 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 records\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 managed repository with\n> +\tMsysGit).  In such a case, it may be necessary to set this\n> +\tvariable 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\nI suspect that the above will not format very well.  Hint: what is\nthe lone \"+\" line before \"The default is true...\" doing there?\n\nAside from \"Is MsysGit the old name for Git for Windows\"? raised by\nothers, I think it may be worthwhile to mention Eclipse, as that is\nwhere the original (by the way, it would have been nice if you left\nsome pointer to the original discussion when saying \"the discussion\nvia email\"---it took me a while to recall what you are talking\nabout) from Hilco Wijbenga was about ([$gmane/257689]).  So, perhaps\ns/with MsysGit/with Eclipse or Git for Windows/; or something.\n\nOther than that, I do not see anything wrong in there.  Thanks.\n\nAs a separate topic, however, we may want to start thinking about\nadding a cheat-sheet on platform-specific bits to our documentation.\n\nThe alphabetical listing of configuration variables we see here is a\nvery good way for people to go from variable names to what they do\n(e.g. find a variable defined in configuration file of a neighbour\nor be instructed to set a variable by project lead and want to learn\nwhy setting the variable to the value is a good idea), but not a\ngood way to go in the other direction (e.g. have trouble running Git\non a filesystem that mangles filenames and want to find out if there\nalready is a way to work it around).\n\nThe cheat-sheet could be just a list of configuration and\nenvironment variables e.g. \"Those on Windows may want to check into\nthese settings\".\n\n\n[Reference]\n\n$gmane/257689:\n\n    http://thread.gmane.org/gmane.comp.version-control.git/257558/focus=257689\n"}]}