Re: Re-casing directories on case-insensitive systems
- From
Robin Rosenberg <robin.rosenberg@dewire.com>
- Date
- Jan 12, 2008, 00:15 UTC
- Message-ID
- <200801120115.41274.robin.rosenberg@dewire.com>
- In-Reply-To
- <1973E1D5-C8CC-4979-A085-85A2C5A13E57@sb.org>
lördagen den 12 januari 2008 skrev Kevin Ballard:
> Speaking of normalizing composed sequences, could that be the cause > for the following?
[...]
Show 7 quoted lines
> kevin@KBALLARD:~/Dev/git/gitweb/test> ls Märchen | xxd > 0000000: 4d61 cc88 7263 6865 6e0a Ma..rchen. > > As you can see, git has the file tracked using M\303\244rchen, where > \303\244 (or 0xC3A4, or U+00E4) is Latin Small Letter A With > Diaeresis, but the filesystem reports it as "Ma\xCC\x88rchen" where > 0xCC88 (or U+0308) is Combining Diaeresis.
Yes that is due to normalization. When adding a file by name git uses the user supplied name, but when adding files indirectly it gets the names from the file system without denormalizing them. Likewize status gets the names from the file system without denormalizing and thus you get a mismatch.
-- robin