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

Re: [PATCH] Demonstrate failure of 'core.ignorecase = true'

From
Jeff King <peff@peff.net>
Date
Mar 22, 2012, 14:12 UTC
Message-ID
<20120322141245.GB8803@sigill.intra.peff.net>
In-Reply-To
<4F6B0C3E.8090501@in.waw.pl>
On Thu, Mar 22, 2012 at 12:25:50PM +0100, Zbigniew Jędrzejewski-Szmek wrote:
Show 8 quoted lines
> >What am I missing?
> 
> The OP meant a case-sensitive fs, not an insensitive one.
> "On a filesystem that *is* case-sensitive, ..."
> 
> This is a question about core.ignorecase=true. The description in
> git-config(1) is so vague, that it's hard to say what behaviour is
> expected.
I don't know. It says:
  If true, this option 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 it is really the same file, and continue
  to remember it as "Makefile".

which seems pretty clear to me that this is "let git work better on case-insensitive filesystems", not "make git magically case-insensitive on case sensitive filesystem". But maybe we could add be more explicit, like:

-- >8 --
Subject: docs: clarify core.ignorecase on case-sensitive filesystems

core.ignorecase is about handling case-insensitive filesystems, not making git magically case-insensitive on a case-sensitive filesystem. That's implied by the current text, but let's add an explicit note.

Signed-off-by: Jeff King <peff@peff.net>
---
 Documentation/config.txt |    4 ++++
 1 file changed, 4 insertions(+)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index c081657..abbab91 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -191,6 +191,10 @@ 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.
++
+Note that this is about making git work well on a case-insensitive
+filesystem. It will not make git case-insensitive when used on a
+case-sensitive filesystem.
 
 core.trustctime::
 	If false, the ctime differences between the index and the
-- 
1.7.10.rc0.9.gdcbe9
Previous: Zbigniew Jędrzejewski-SzmekNext: Junio C Hamano
Message 11 of 23 in “Demonstrate failure of 'core.ignorecase = true'”
  1. Demonstrate failure of 'core.ignorecase = true'Peter J. Weisberg, Mar 21, 2012
  2. Junio C HamanoMar 21, 2012
  3. PJ WeisbergMar 22, 2012
  4. Junio C HamanoMar 22, 2012
  5. Thomas RastMar 23, 2012
  6. Junio C HamanoMar 23, 2012
  7. Jeff KingMar 23, 2012
  8. Jeff KingMar 23, 2012
  9. Johannes SixtMar 22, 2012
  10. Zbigniew Jędrzejewski-SzmekMar 22, 2012
  11. Jeff KingMar 22, 2012
  12. Junio C HamanoMar 22, 2012
  13. Jeff KingMar 22, 2012
  14. Junio C HamanoMar 22, 2012
  15. Jeff KingMar 22, 2012
  16. Junio C HamanoMar 22, 2012
  17. Zbigniew Jędrzejewski-SzmekMar 22, 2012
  18. Junio C HamanoMar 22, 2012
  19. Zbigniew Jędrzejewski-SzmekMar 22, 2012
  20. PJ WeisbergMar 22, 2012
  21. Junio C HamanoMar 22, 2012
  22. Jeff KingMar 22, 2012
  23. Junio C HamanoMar 22, 2012

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.