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

Re: cvs2svn change_path crash

From: B. W. Fitzpatrick <fitz_at_red-bean.com>
Date: 2003-09-13 02:42:20 CEST

Jack Repenning <jrepenning@collab.net> writes:
> At 9:37 AM +0200 9/12/03, Faller, Gyula wrote:
> > :)) MacOS 9, VMS (if I remember correctly), and even Unix.
> > Altough this latter means it is impossible to parse correctly a
> >Unix path in any way.
>
> Last time I looked, there was no way to get a "/" into a Unix file
> name, because there are no kernel APIs that accept "file names," only
> "paths," so the "/" always gets interpreted as a delimiter. I've
> heard tales of bugs, generally involving external storage devices,
> but those are bugs, they don't count.

I know that Subversion client/server doesn't run on Mac OS 9, and I
doubt that CVS server runs on Mac OS 9, so there shouldn't be a worry
WRT whatever Mac OS 9 may have chosen to use as a path delimiter.

There's a bit of sneakiness going on behind the scenes in Mac OS X to
deal with paths on HFS+. Take a look at
http://www.mit.edu/people/wsanchez/papers/USENIX_2000/

Here's an excerpt:

    "Another obvious problem is the different path separators between
    HFS+ (colon, ':') and UFS (slash, '/'). This also means that HFS+
    file names may contain the slash character and not colons, while the
    opposite is true for UFS file names. This was easy to address,
    though it involves transforming strings back and forth. The HFS+
    implementation in the kernel's VFS layer converts colon to slash and
    vice versa when reading from and writing to the on-disk format. So
    on disk the separator is a colon, but at the VFS layer (and
    therefore anything above it and the kernel, such as libc) it's a
    slash. However, the traditional Mac OS toolkits expect colons, so
    above the BSD layer, the core Carbon toolkit does yet another
    translation. The result is that Carbon applications see colons, and
    everyone else sees slashes. This can create a user-visible
    schizophrenia in the rare cases of file names containing colon
    characters, which appear to Carbon applications as slash characters,
    but to BSD programs and Cocoa applications as colons."

Go Fred!

-Fitz

--
Brian W. Fitzpatrick    <fitz_at_red-bean.com>   http://www.red-bean.com/fitz/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Sep 13 02:43:08 2003

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.