Re: git branch case insensitivity (Possible bug)
From: Joshua Jensen <hidden>
Date: 2016-06-15 22:55:42
----- Original Message ----- From: Andreas Ericsson Date: 1/9/2013 8:52 AM
Are you using Mac OSX? Are you using the HFS+ filesystem shipped with it? Did you use the filesystem's default settings rather than reinstall your system with sensible settings? If you said "yes" to all of the above, this is a filesystem "feature", courtesy of (cr)Apple, and you're screwed. You can work around it by running "git pack-refs" every time you create a branch or a tag though.
There are two popular default file systems that are case preserving, case insensitive. One is on Mac. One is on Windows. Since Git relies on file system behavior to store the equivalent of database entries like these refs, it cannot give a consistent user experience across platforms or even file systems within platforms. That sounds like a bug in Git to me. Perhaps pack-refs should be run automatically by any internal command that updates a ref to ensure a non-confusing, consistent user experience. Further, if refs are no longer entries on the disk, then this nasty namespacing issue goes away. User A: $ git branch render $ git push User B: $ git pull $ git branch render/myfeature render/myfeature can't be created, because Git assumes a filesystem structure. The render namespace is locked out forever. -Josh