[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Encoding problems in subversion under Mac OS X (HFS+)

From: Scott Palmer <scott_at_digital-rapids.com>
Date: 2005-12-07 00:04:41 CET

On 6-Dec-05, at 4:45 PM, Paul Koning wrote:

>
> Windows allows file names to be encoded any old way. You can create
> .txt twice -- once with a composed , once with a decomposed . You
> can then commit both. Linux will happily deal with those two files as
> distinct files, too.

some may call that a feature, but I call that a bug. Windows and
Linux are broken in this way. Mac OS is doing the "right" thing by
making the files user-friendly and not different in some cryptic,
geeky, computerese way.

> OS X objects to this. It decomposes all file names, so the composed
> and decomposed names conflict. That's very similar to the conflict
> between a.txt and A.txt in a case insensitive file system (and in fact
> the error messages look similar).

>
> So, contrary to what I suggested before, making all filenames
> canonical (decomposed, for example) in Subversion is not necessarily
> the right answer, because then you can't handle those two identical
> looking but differently encoded file names in Windows. (One might
> argue this is a Windows bug -- it shouldn't allow two names that
> produce the same pixels on the screen but have different encoding --
> and that no doubt is why OS X doesn't. But they are two permitted
> file names, so the counter-argument is that the version control system
> should allow them both.)

It is a similar problem, but at least in the uppercase/lowercase
version we aren't talking about the "exact same" character that is
mysteriously not the same.

I prefer case-INsensitive filesystems for the same reason. If my
dog's name is "Spot" and I call him by yelling "spot" he still
comes :) I want the same to work for my files.

Anyway... don't mean to rant about all this other than to say, I
think Subversion should do what OS X is doing an only allow a single
representation of the same character (decomposed or whatever) in the
repository. In the end it prevents conflicts in these weird cases.
Anyone that actually WANTS the names to be unique even though they
only differ by the characters being in composed or decomposed form is
asking for trouble - I'ld rather they keep the trouble to themselves
than forcing the rest of us to deal with it. :)

To extend the argument you have listed above, Windows and Mac OS have
case insensitive filesystems, while most unix systems have case
sensitive filesystems... therefore subversion should support them
both... but it doesn't, it only supports cases-sensitive filesystems.
(In the sense that subversion causes errors on Windows and Mac when
case-only changes to path names are present.)

Scott

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Dec 7 00:11:24 2005

This is an archived mail posted to the Subversion Users mailing list.