git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] init - Honour the global core.filemode setting

From
Torsten Bögershausen <tboegi@web.de>
Date
Oct 3, 2014, 16:54 UTC
Message-ID
<542ED4B8.40603@web.de>
In-Reply-To
<xmqqzjdeo16d.fsf@gitster.dls.corp.google.com>
On 2014-10-02 19.02, Junio C Hamano wrote:
Show 38 quoted lines
> Torsten Bögershausen <tboegi@web.de> writes:
> 
>> On 2014-10-01 19.10, Junio C Hamano wrote:
>>> Hilco Wijbenga <hilco.wijbenga@gmail.com> writes:
>>>
>>>> Perhaps I completely misunderstand the meaning of core.filemode but I
>>>> thought it determined whether Git cared about changes in file
>>>> properties?
>>>
>>> By setting it to "false", you tell Git that the filesystem you
>>> placed the repository does not correctly represent the filemode
>>> (especially the executable bit).
>>>
>>> "core.fileMode" in "git config --help" reads:
>>>
>>>        core.fileMode
>>>            If false, the executable bit differences between the
>>>            index and the working tree are ignored; useful on broken
>>>            filesystems like FAT. See git-update- index(1).
>>
>> Out of my head: Could the following be a starting point:
>>
>>         core.fileMode
>>             If false, the executable bit differences between the
>>             index and the working tree are ignored.
>>             This may be usefull when visiting a cygwin repo with a non-cygwin
>>             Git client. (should we mention msysgit ? should we mention JGit/EGit ?)
> 
> Between these two sentences, there may still be the same cognitive
> gap that may have lead to the original confusion.
> 
> The first sentence says what happens, as it should.
> 
> But it is not directly clear what makes the executable bit differ
> and when it is a useful thing to ignore the differences, so the
> second sentence that says "This may be useful" does not give the
> reader very much.
> 
Clearly a major improvement.

Does this (still) include the original line "See linkgit:git-update-index[1]"

which helps the user to add *.sh files "executable" to the index, even if core.filemode is false ? One minor improvement below.

Show 19 quoted lines
> Here is my attempt.
> 
> 	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'.
          ^^^^^^^^ 
Previous: Junio C HamanoNext: Junio C Hamano
Message 7 of 8 in “init - Honour the global core.filemode setting”
  1. init - Honour the global core.filemode settingHilco Wijbenga, Sep 28, 2014
  2. Torsten BögershausenSep 28, 2014
  3. Hilco WijbengaOct 1, 2014
  4. Junio C HamanoOct 1, 2014
  5. Torsten BögershausenOct 2, 2014
  6. Junio C HamanoOct 2, 2014
  7. Torsten BögershausenOct 3, 2014
  8. Junio C HamanoOct 3, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.