On Jan 16, 2008, at 11:08 PM, Linus Torvalds wrote:
Those of us who grew up on a case-insensitive filesystem don't find
there to be any problem with it. I can count on one hand the number of
times I've run into a problem caused by a case-insensitive filesystem.
That number is 1. And that 1 time is when git screwed up trying to
track CS4536 and cs4536 in the same directory (see earlier thread).
That's only true if you don't know what type of filesystem you're on.
And, in the vast majority of cases (in fact, a content tracker is the
only exception I can think of), it doesn't matter. If the user said
'xyz' and you can stat() it, great, that's what the user wanted! Just
because it's really called 'Xyz' on the filesystem doesn't make any
difference.
But git is a content tracker, so even if it's really a different
hardlink that shouldn't matter, it's still referencing the same
content. Go ahead and track whatever name the user specified
originally, as long as it maps to a file on disk with the expected
content you're set. If the file is really called 'foo' and I told git
to track 'Foo', I'm perfectly happy with it continuing to think 'foo'
is 'Foo' until I use 'git mv Foo foo'.
I don't see that as being a problem. Think of it, if you will, as if
every single file simply had an implicit hardlink for every possible
case or normalization variant. The whole point of the filename is that
it is meta-information, used as an identifier and not as actual
content, and thus it is perfectly fine for it to be a real string,
subject to interpretation, rather than treated as a sacred binary blob
like content is. The whole purpose of the name is to identify the
inode in question, and case and normalization aren't particularly
relevant here. As long as we can identify the file, we're happy.
Again, as someone who grew up in a case-insensitive world, there's no
problems here. I wish I could tell you that it causes problems, I wish
I could agree with you, but I can't.
-Kevin Ballard
--
Kevin Ballard
http://kevin.sb.orgkevin@sb.orghttp://www.tildesoft.com