From: Andreas Ericsson Date: Fri, 26 Oct 2007 15:22:52 GMT Subject: Re: Trouble with case-insensitive filesystems Message-ID: <4722064C.1000201@op5.se> In-Reply-To: <20071026145204.GA294@localhost.daprodeges.fqdn.th-h.de> Rocco Rutte wrote: > 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 ..." 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