Re: git on MacOSX and files with decomposed utf-8 file names
- From
Wincent Colaiuta <win@wincent.com>
- Date
- Jan 17, 2008, 11:51 UTC
- Message-ID
- <16D4755D-EAEC-4F4A-B6B4-F262A6841F66@wincent.com>
- In-Reply-To
- <C7439732-3B79-4F2B-9D0C-679C1EC8EA0E@simplicidade.org>
El 17/1/2008, a las 12:23, Pedro Melo escribió:
Show 30 quoted lines
> On Jan 17, 2008, at 11:10 AM, Johannes Schindelin wrote: >> [Jay, don't cull Cc: lists on vger.kernel.org. I consider it rude.] >> >> On Thu, 17 Jan 2008, Wincent Colaiuta wrote: >> >>> El 17/1/2008, a las 6:15, Junio C Hamano escribió: >>> >>>> "Jay Soffian" <jaysoffian+git@gmail.com> writes: >>>> >>>>> So here's what I can see as being useful additions to git: >>>>> ... >>>>> Thoughts (besides "patches welcomed")? >>>> >>>> I think we already discussed a plan to store normalization >>>> mapping in >>>> the index extension section and use it to avoid getting confused by >>>> readdir(3) that lies to us. Is there any more thing that need to >>>> be >>>> discussed? >> >> Yes, and I think that a lot of time would have more wisely spent on >> reading that, and trying to implement it, than writing a number of >> long >> mails, repeating the _same_ (refuted) points over and over again. > > I searched the archives for the posts about normalization and I > could not find them, sorry. > > Is stringprep (RFC 3454) being proposed as an optional normalization > step before lookups in the index?
If this is really just a platform-specific hack, can we use platform- specific code to do the normalization?
On Mac OS X we have (unfortunately only 10.4 and up):
CFStringCreateWithFileSystemRepresentation() CFStringGetFileSystemRepresentation() CFStringGetMaximumSizeOfFileSystemRepresentation()
If we were to use those you'd at least know that you're getting the true normalized form as the system defines it.
Show 8 quoted lines
> The terms used in this Q&A, decomposed and precomposed, roughly > correspond to Unicode Normal Forms D and C, respectively. However, > most volume formats do not follow the exact specification for these > normal forms. For example, HFS Plus uses a variant of Normal Form D > in which U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 > through U+2FAFF are not decomposed (this avoids problems with round > trip conversions from old Mac text encodings). It's likely that your > volume format has similar oddities.
http://developer.apple.com/qa/qa2001/qa1173.html
Cheers, Wincent