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

Re: Trouble with case-insensitive filesystems

From
Andreas Ericsson <ae@op5.se>
Date
Oct 26, 2007, 15:22 UTC
Message-ID
<4722064C.1000201@op5.se>
In-Reply-To
<20071026145204.GA294@localhost.daprodeges.fqdn.th-h.de>
Rocco Rutte wrote:
Show 35 quoted lines
> Hi,
> 
> after importing the opensolaris hg repo into git, I noticed that git 
> gets confused if the repo contains files that clash on case-insensitive 
> filesystems (here on OS X, I can't test Cygwin and Win32). git-checkout 
> tells me that these files are modified, git-status gives me:
> 
> $ git status
> # On branch master
> # Changed but not updated:
> #   (use "git add <file>..." to update what will be committed)
> #
> #       modified:   usr/src/cmd/lp/filter/postscript/font/devpost/HB
> #       modified:   usr/src/cmd/lp/filter/postscript/font/devpost/HB.name
> #       modified:   usr/src/cmd/lp/filter/postscript/font/devpost/HI
> #       modified:   usr/src/cmd/lp/filter/postscript/font/devpost/HI.name
> #       modified:   usr/src/cmd/lp/filter/postscript/font/devpost/HX
> #       modified:   usr/src/cmd/lp/filter/postscript/font/devpost/HX.name
> #       modified:   
> usr/src/cmd/lp/filter/postscript/font/devpost/charlib/LH
> #       modified:   usr/src/lib/libldap4/common/Version.c
> #
> no changes added to commit (use "git add" and/or "git commit -a")
> 
> ...without touching anything. Yes, there's a version.c file next to 
> Version.c, HI.name next to Hi.name and so on.
> 
> I'm not really sure what I'm expecting git to do, but I guess I want it 
> to abort a checkout and only continue with -f. But at the very least, it 
> should issue a big fat warning (one may decide to work in some area 
> without clashes).
> 
> I really have no idea how to efficiently detect that at runtime and 
> which areas of git to look at for patching...
> 

There are no areas in git to patch. There's no sane way to handle your case, so the best you could opt for is to import it to a system with sane case-handling, alter the repo so no two filenames clash, and then check it out on your case-insensitive filesystem. Note that you'll have to make sure that you never check anything out prior to the commit that renames the case-name clashes, or you'll end up with this same trouble all over again.

On a side note; Please don't set the Reply-To: header for mails to git@vger.kernel.org. Some consider it rude, and it makes the ones you're asking for help have to work if they want to provide you with anything off-list. It's a tad rude.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
Previous: Rocco RutteNext: Rocco Rutte
Message 2 of 5 in “Trouble with case-insensitive filesystems”
  1. Rocco RutteOct 26, 2007
  2. Andreas EricssonOct 26, 2007
  3. Rocco RutteOct 26, 2007
  4. Jeff KingOct 26, 2007
  5. Jean-François VeilletteOct 26, 2007

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.