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

Re: Odd Difference Between Windows Git and Standard Git

From
Torsten Bögershausen <tboegi@web.de>
Date
May 24, 2016, 04:52 UTC
Message-ID
<5743DE28.5070000@web.de>
In-Reply-To
<xmqqeg8sa9oq.fsf@gitster.mtv.corp.google.com>
On 05/23/2016 08:52 PM, Junio C Hamano wrote:
Show 30 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
>>> Of course, if you are doing network mount between systems with and
>>> without filemode support, the result would depend on where you did
>>> the "git init", so that would not help.
>>>
>>> Which means that other probed things like symlink support and case
>>> sensitivity are likely to be wrong in the .git/config that the user
>>> may want to fix.
>> What we could do is to make the default config setting platform-dependent,
>> a la CRLF_NATIVE.
>>
>> I imagine that we would want this for core.filemode, core.ignorecase and
>> core.symlinks.
>>
>> What do you think?
> The reason why we probe for filemode, icase, etc. at repository
> creation time and record the result in the configuration is because
> we do not to want to do the auto-probing at runtime, every time we
> run any Git command.  You may be able to say "On this platform, no
> matter what filesystem is in use, you will always get icase and you
> will never have executable bit", and a build on such a platform can
> hardcode these three values.  But on other platforms these may be
> per-filesystem properties, and their binaries would not be able to
> hardcode the choices, which would mean we would record these three
> in .git/config on these platforms when a repository is created.
>
> Git built for Windows may have core.filemode=false as "the default
> config setting platform-dependent, a la CRLF_NATIVE"; how would that
> interact with a configured core.filemode value in .git/config?

if core.filemode is true, Git for Windows could: a) Behave as today, report changed files (filemode) b) Give warning to the user (and report changed filemode) c) Error out, saying misconfigured worktree d) use core.filemode = false anyway. e) Give a warning and use core.filemode = false anyway.

At the moment I tend for c), as it makes it clear what is going wrong, what do you think ?

[skip ignorecase for a second]
Previous: Junio C HamanoNext: Johannes Schindelin
Message 14 of 17 in “Odd Difference Between Windows Git and Standard Git”
  1. Jon ForrestMay 20, 2016
  2. Torsten BögershausenMay 20, 2016
  3. Jon ForrestMay 20, 2016
  4. Torsten BögershausenMay 20, 2016
  5. Jon ForrestMay 20, 2016
  6. Torsten BögershausenMay 20, 2016
  7. Junio C HamanoMay 20, 2016
  8. Torsten BögershausenMay 20, 2016
  9. Junio C HamanoMay 20, 2016
  10. Johannes SchindelinMay 23, 2016
  11. Jon ForrestMay 23, 2016
  12. Johannes SchindelinMay 23, 2016
  13. Junio C HamanoMay 23, 2016
  14. Torsten BögershausenMay 24, 2016
  15. Johannes SchindelinMay 24, 2016
  16. Torsten BögershausenMay 25, 2016
  17. Johannes SchindelinMay 25, 2016

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.