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

Re: [PATCH v2] Documentation: declare "core.ignorecase" as internal variable

From
Torsten Bögershausen <tboegi@web.de>
Date
Jun 24, 2018, 13:47 UTC
Message-ID
<20180624134743.GA31295@tor.lan>
In-Reply-To
<aa841316-5fc0-b69b-a3d0-15911b0776f4@syntevo.com>
On Sun, Jun 24, 2018 at 12:44:26PM +0200, Marc Strapetz wrote:
Show 12 quoted lines
> The current description of "core.ignoreCase" reads like an option which
> is intended to be changed by the user while it's actually expected to
> be set by Git on initialization only. This is especially important for
> Git for Windows, as noted by Bryan Turner [1]:
> 
>     Git on Windows is not designed to run with anything other than
>     core.ignoreCase=true, and attempting to do so will cause
>     unexpected behavior. In other words, it's not a behavior toggle so
>     user's can request the functionality to work one way or the other;
>     it's an implementation detail that `git init` and `git clone` set
>     when a repository is created purely so they don't have to probe
>     the file system each time you run a `git` command.

This is a nice explanation, thanaks for that, Some users of Mac OS or SAMBA will see core.ignoreCase=true, and are not supposed to change it.

The same explanation (Git for Windows) is alse valid for HFS+ and APFS under Mac OS and VFAT under all OS. (or even an ext4 file system under Linux exported to Mac OS using SAMBA)

May be something like this?
     Git on a case insensitve file system (Windows, Mac OS, VFAT, SAMBA)
     is not designed to run with anything other than
     core.ignoreCase=true, and attempting to do so will cause
     unexpected behavior. In other words, it's not a behavior toggle so
    .....
Show 33 quoted lines
> 
> [1] https://marc.info/?l=git&m=152972992729761&w=2
> 
> Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>
> ---
>  Documentation/config.txt | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index ab641bf5a..c25693828 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -390,7 +390,7 @@ core.hideDotFiles::
>  	default mode is 'dotGitOnly'.
> 
>  core.ignoreCase::
> -	If true, this option enables various workarounds to enable
> +	Internal variable which enables various workarounds to enable
>  	Git to work better on filesystems that are not case sensitive,
>  	like FAT. For example, if a directory listing finds
>  	"makefile" when Git expects "Makefile", Git will assume
> @@ -399,7 +399,7 @@ core.ignoreCase::
>  +
>  The default is false, except linkgit:git-clone[1] or linkgit:git-init[1]
>  will probe and set core.ignoreCase true if appropriate when the repository
> -is created.
> +is created. Modifying this value afterwards may result in unexpected
> behavior.
> 
>  core.precomposeUnicode::
>  	This option is only used by Mac OS implementation of Git.
> -- 
> 2.17.0.rc0.3.gb1b5a51b2
Previous: Sascha SilbeNext: Marc Strapetz
Message 5 of 12 in “Documentation: declare "core.ignorecase" as internal variable”
  1. Documentation: declare "core.ignorecase" as internal variableMarc Strapetz, Jun 24, 2018
  2. Eric SunshineJun 24, 2018
  3. Documentation: declare "core.ignorecase" as internal variableMarc Strapetz, Jun 24, 2018
  4. Sascha SilbeJun 24, 2018
  5. Torsten BögershausenJun 24, 2018
  6. Documentation: declare "core.ignorecase" as internal variableMarc Strapetz, Jun 26, 2018
  7. Junio C HamanoJun 27, 2018
  8. Aaron SchrabJun 27, 2018
  9. Marc StrapetzJun 28, 2018
  10. Documentation: declare "core.ignoreCase" as internal variableMarc Strapetz, Jun 28, 2018
  11. Junio C HamanoJun 28, 2018
  12. Torsten BögershausenJun 28, 2018

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.