On Mon, Jan 21, 2008 at 11:43:54AM -0500, Kevin Ballard wrote:
I agree. Every single problem that I can recall Linus bringing up as a
consequence of HFS+ treating filenames as strings is in fact only a
problem if you then think of the filename as octets at some point. If you
stick with UTF-8 equivalence comparison the entire time, then everything
just works.
Git's data model relies on SHA-1 hashing of data, including filenames.
So at some level, git _has_ to treat data as octets, and "equivalent"
strings must be the same at the octet level (or else you lose all of the
useful properties that the hashing data model provides). You can argue
about where in the program conversion and normalization occur, but I
don't think you can get around the fact that you're going to need
to think of the "filename as octets at some point."
-Peff