Mac OS X by default is a case insensitive file system. But Mac OS, as in a lot of other things, makes a half-assed job of this. In addition to causing various bits of confusion when creating directories it also leads to a potentially messy situation with git. This is how things happen:
1. You create a directory in your source tree called, say,
2. After a few commits you decide that it's better to change this to a lower case "p":
3. When you go to commit this rename (perhaps with a few other changes you implemented) git throws a hissy fit.
After a bit of searching on stack overflow it turns out that this is all related to Mac OS's case-insensitivity.
The cleanest fix I found on stack overflow was:
Apparently this fools git's index into doing the change, where as git mv Plugins plugins - because the underlying file system does not recognize the difference - tells git nothing has changed but it has and leaves it in some sort of half way state that messes it up.
1. You create a directory in your source tree called, say,
Plugins
with a capital "P".2. After a few commits you decide that it's better to change this to a lower case "p":
plugins
3. When you go to commit this rename (perhaps with a few other changes you implemented) git throws a hissy fit.
After a bit of searching on stack overflow it turns out that this is all related to Mac OS's case-insensitivity.
The cleanest fix I found on stack overflow was:
git mv Plugins temp00 git mv temp00 plugins git commit
Apparently this fools git's index into doing the change, where as git mv Plugins plugins - because the underlying file system does not recognize the difference - tells git nothing has changed but it has and leaves it in some sort of half way state that messes it up.
Comments
Post a Comment