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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 27, 2018, 19:11 UTC
Message-ID
<xmqqzhzgdoyb.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<c899089d-c195-26b5-66ce-de0273a7152b@syntevo.com>
Marc Strapetz <marc.strapetz@syntevo.com> writes:
Show 18 quoted lines
> [1. text/plain]
> 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. Subsequently, Git relies on the
> proper configuration of this variable, as noted by Bryan Turner [1]:
> 
>     Git on a case-insensitive filesystem (APFS, HFS+, FAT32, exFAT,
>     vFAT, NTFS, etc.) is not designed to be run with anything other
>     than core.ignoreCase=true.
> 
> [1] https://marc.info/?l=git&m=152998665813997&w=2
>     mid:CAGyf7-GeE8jRGPkME9rHKPtHEQ6P1+ebpMMWAtMh01uO3bfy8w@mail.gmail.com
> 
> Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>
> ---
>  Documentation/config.txt | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 

Hmph. Do other people have difficulty applying this patch to their trees? It is just several lines long so I could retype it myself, but I guess "Content-Type: text/plain; charset=utf-8; format=flowed" has destroyed formatting of the patch rather badly.

Show 27 quoted lines
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 1cc18a828..c70cfe956 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -390,16 +390,19 @@ 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
> +	like APFS, HFS+, FAT, NTFS, etc. For example, if a directory listing
> +	finds "makefile" when Git expects "Makefile", Git will assume
>  	it is really the same file, and continue to remember it as
>  	"Makefile".
>  +
>  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.
> ++
> +Git relies on the proper configuration of this variable for your operating
> +and file system. Modifying this value may result in unexpected behavior.
>
>  core.precomposeUnicode::
>  	This option is only used by Mac OS implementation of Git.
Previous: Marc StrapetzNext: Aaron Schrab
Message 7 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.