Re: Renaming files on win32
Philip Martin <[email protected]>
| Newsgroups | gmane.comp.version-control.subversion.devel,gmane.mail.eyebrowse.user |
|---|---|
| Message-ID | <[email protected]> |
"Gili" <[email protected]> writes: > On Thu, 23 Dec 2004 02:38:46 +0100, [email protected] wrote: > >>Gili wrote: >> >>Because different languages don't always agree about a) which letters >>are uppercase and which are lowercase, and b) how to convert from one to >>the other. >> > So how could Java possibly implement Character.isLowerCase()? > Something does not make sense here. That method claims to indicate if a > character is lowercase in absolute terms. It's easy to classify characters as uppercase or lowercase, what's impossible to determine is which uppercase character corresponds to any given lowercase character or vice versa. Which lowercase character corresponds to the uppercase character 'I'? In an en_US (english) locale the answer is 'i' but in tr_TR (turkish) the answer is 'ý'. Unicode provides caseless matching http://www.unicode.org/reports/tr21/tr21-5.html#Caseless_Matching in which two characters are compared by converting both of them to a canonical form. Can Subversion use that? I don't know, it doesn't make sense to do it if Windows (or OSX) does something different. I don't even know if Windows and OSX have exactly the same behaviour as each other, let alone whether they implement Unicode rules. As far as I can see the only sensible way for Subversion to handle case-insensitivity is for it all to happen client-side and for the client to use the OS to determine whether two filenames refer to the same file. -- Philip Martin