Comments on: Perforce SCM on OS X http://tleaves.com/2004/02/19/perforce-scm-on-os-x/ Creativity x Technology Sat, 17 Mar 2012 05:09:58 +0000 hourly 1 http://wordpress.org/?v=3.3.1 By: peterb http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-103 peterb Sat, 28 Aug 2004 16:53:58 +0000 http://tleaves.com/?p=29#comment-103 > So, ~/Music will be translated into the user's > language, even though it is still ~/Music at the > filesystem level. This feature can cause much > confusion. What? Great Ghoulessarian. Please, please, please tell me you're kidding. That's one of the craziest things I've ever heard. Wow. > So, ~/Music will be translated into the user’s
> language, even though it is still ~/Music at the
> filesystem level. This feature can cause much
> confusion.

What?

Great Ghoulessarian. Please, please, please tell me you’re kidding.

That’s one of the craziest things I’ve ever heard. Wow.

]]>
By: Michael Baltaks http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-102 Michael Baltaks Tue, 11 May 2004 22:24:23 +0000 http://tleaves.com/?p=29#comment-102 Ok, there's some very good discussion here on file systems and case sensitivity. I think that the two best arguments are 1) simplicity of design and implementation (ie. don't use "/"), and 2) locale dependance. To be honest, I hadn't even considered the second point, even though I had puzzled over the problem Mac OS X has, where it shows certain user folders in the Finder according to the user's locale. So, ~/Music will be translated into the user's language, even though it is still ~/Music at the filesystem level. This feature can cause much confusion. This leads me to think that we really need both a posix style filesystem, with very simple rules, and there's probably a very good case (excuse pun) for a higher level of filesystem that supports locale dependant features - a filesystem designed for actual people, implemented on top of a posix filesystem, but well documented so there is not confusion about what a file's name actually is (and of course then the name would be free of having to store other meta data for the file, the name would simply be a name). Ok, there’s some very good discussion here on file systems and case sensitivity. I think that the two best arguments are 1) simplicity of design and implementation (ie. don’t use “/”), and 2) locale dependance.

To be honest, I hadn’t even considered the second point, even though I had puzzled over the problem Mac OS X has, where it shows certain user folders in the Finder according to the user’s locale. So, ~/Music will be translated into the user’s language, even though it is still ~/Music at the filesystem level. This feature can cause much confusion.

This leads me to think that we really need both a posix style filesystem, with very simple rules, and there’s probably a very good case (excuse pun) for a higher level of filesystem that supports locale dependant features – a filesystem designed for actual people, implemented on top of a posix filesystem, but well documented so there is not confusion about what a file’s name actually is (and of course then the name would be free of having to store other meta data for the file, the name would simply be a name).

]]>
By: peterb http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-101 peterb Tue, 09 Mar 2004 13:08:28 +0000 http://tleaves.com/?p=29#comment-101 Fred, You're mistaken. If you read the comments, you'd see that we hashed this out quite a bit. Case-insensitive/case-preserving is not stupid as a desired behavior for end users. You're right about that. It is, however, stupid as a 'feature' to be built into the filesystem. The presentation layer should be enforcing this behavior, not the filesystem. I said it before, and I'll say it again: not all "users" are people. Some users are machines. Some machines have to serve other machines that may have different filesystem semantics. By building case-insensitivity in to your filesystem you are hanging a big sign on it that says "I am not serious about competing in the enterprise" (and yes, Faisal, I disagree with your belief that because a few banks have installed NTFS that that belies my statement: NTFS supports case-sensitive filenames.) The fact that Apple rolled out a case-sensitive option after they introduced the Xserve and nobody bought it is evidence of this. Fred,

You’re mistaken. If you read the comments, you’d see that we hashed this out quite a bit.

Case-insensitive/case-preserving is not stupid as a desired behavior for end users. You’re right about that.

It is, however, stupid as a ‘feature’ to be built into the filesystem. The presentation layer should be enforcing this behavior, not the filesystem.

I said it before, and I’ll say it again: not all “users” are people. Some users are machines. Some machines have to serve other machines that may have different filesystem semantics. By building case-insensitivity in to your filesystem you are hanging a big sign on it that says “I am not serious about competing in the enterprise” (and yes, Faisal, I disagree with your belief that because a few banks have installed NTFS that that belies my statement: NTFS supports case-sensitive filenames.)

The fact that Apple rolled out a case-sensitive option after they introduced the Xserve and nobody bought it is evidence of this.

]]>
By: Frederick Abbott http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-100 Frederick Abbott Tue, 09 Mar 2004 12:54:58 +0000 http://tleaves.com/?p=29#comment-100 Case-insensitive case-preserving filesystems are not 'sucky' or stupid. They are logical. Considering trying to explain to a non-technical user why the files 'MyLetter', 'myletter' and 'MYLETTER" are not all the same files. There is no reason in this day and age to have different files with the same name, separated only by case. That is stupid. Witness how LWP::Perl's /usr/bin/HEAD collides with /usr/bin/head. That could've been avoided if the LWP::Perl developers had had the actual sense to THINK OF ANOTHER USEFUL NAME rather than going "oh well, we'll just uppercase it". F-ing ridiculous and it's that standard braindead carry-over from UNIX filesystems and academia that is ruining it. Wonder why Windows and Mac use case-insensitivity? Because it makes sense to the non-nerds. Case-insensitive case-preserving filesystems are not ‘sucky’ or stupid. They are logical. Considering trying to explain to a non-technical user why the files ‘MyLetter’, ‘myletter’ and ‘MYLETTER” are not all the same files. There is no reason in this day and age to have different files with the same name, separated only by case. That is stupid.

Witness how LWP::Perl’s /usr/bin/HEAD collides with /usr/bin/head. That could’ve been avoided if the LWP::Perl developers had had the actual sense to THINK OF ANOTHER USEFUL NAME rather than going “oh well, we’ll just uppercase it”. F-ing ridiculous and it’s that standard braindead carry-over from UNIX filesystems and academia that is ruining it.

Wonder why Windows and Mac use case-insensitivity? Because it makes sense to the non-nerds.

]]>
By: Faisal N. Jawdat http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-99 Faisal N. Jawdat Wed, 25 Feb 2004 07:55:49 +0000 http://tleaves.com/?p=29#comment-99 FWIW, Fred Sanchez wrote a paper a few years ago about issues Apple ran into while integrating UNIX and the Mac: http://www.wsanchez.net/papers/USENIX_2000/ FWIW, Fred Sanchez wrote a paper a few years ago about issues Apple ran into while integrating UNIX and the Mac: http://www.wsanchez.net/papers/USENIX_2000/

]]>
By: Faisal N. Jawdat http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-98 Faisal N. Jawdat Tue, 24 Feb 2004 04:06:03 +0000 http://tleaves.com/?p=29#comment-98 On some level, you have to do this at the FS layer, or apps will behave badly with other apps (yes, perforce overwriting File with file is bad, but so is one app maintaing File and file and then another app just blowing up entirely because it can't figure out which one to use). I agree that having the case-sensitive option is a good thing, largely for compatibility reasons, but it's the wrong default choice for a consumer OS. I also don't buy that case sensitivity is an issue for the enterprise market, or Windows would be nowhere. On some level, you have to do this at the FS layer, or apps will behave badly with other apps (yes, perforce overwriting File with file is bad, but so is one app maintaing File and file and then another app just blowing up entirely because it can’t figure out which one to use).

I agree that having the case-sensitive option is a good thing, largely for compatibility reasons, but it’s the wrong default choice for a consumer OS. I also don’t buy that case sensitivity is an issue for the enterprise market, or Windows would be nowhere.

]]>
By: peterb http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-97 peterb Mon, 23 Feb 2004 14:30:14 +0000 http://tleaves.com/?p=29#comment-97 Faisal, not all file systems are intended to be used directly by users. A case-insensitive file system makes writing applications for those filesystems harder. Of course, this is a major reason that MacOS never penetrated into the enterprise market. It's also a major reason Apple implicitly admitted their mistake and offered case-sensitive HFS+. Again, it's clear that "make things seem case-insensitive" is a useful and valuable behavior for users, but what's brain-damaged is implementing that restriction at the filesystem layer rather than at the user interface layer. Another way to phrase this is: "Don't tell Oracle how to name their files, stupid." Faisal, not all file systems are intended to be used directly by users. A case-insensitive file system makes writing applications for those filesystems harder.

Of course, this is a major reason that MacOS never penetrated into the enterprise market. It’s also a major reason Apple implicitly admitted their mistake and offered case-sensitive HFS+.

Again, it’s clear that “make things seem case-insensitive” is a useful and valuable behavior for users, but what’s brain-damaged is implementing that restriction at the filesystem layer rather than at the user interface layer.

Another way to phrase this is: “Don’t tell Oracle how to name their files, stupid.”

]]>
By: Faisal http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-96 Faisal Mon, 23 Feb 2004 06:20:50 +0000 http://tleaves.com/?p=29#comment-96 Case sensitive file systems are a form of bizarre brain damage foisted on the world by UNIX. They lead to bizarre conversations about which version of the file "readme" is the one to read, and more user errors than you can shake a stick at. But, for those who are beyond help, you can use the case-sensitive version of HFS+ on 10.3 client as well as server. (Actually, IIRC, the real issue was that making HFS+ case-sensitive at the start would instantly break lots of Mac apps which assumed the same sorts of file system semantics as OS9 had. It would also likely cause all sorts of trouble for average users who don't give a care for UNIX.) Case sensitive file systems are a form of bizarre brain damage foisted on the world by UNIX. They lead to bizarre conversations about which version of the file “readme” is the one to read, and more user errors than you can shake a stick at. But, for those who are beyond help, you can use the case-sensitive version of HFS+ on 10.3 client as well as server.

(Actually, IIRC, the real issue was that making HFS+ case-sensitive at the start would instantly break lots of Mac apps which assumed the same sorts of file system semantics as OS9 had. It would also likely cause all sorts of trouble for average users who don’t give a care for UNIX.)

]]>
By: Winston http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-95 Winston Fri, 20 Feb 2004 05:47:42 +0000 http://tleaves.com/?p=29#comment-95 I used to use Perforce and loved using it on Windows 2000. When I switched to Mac OS X and had to choose version control for my private projects that don't make loads of money, I couldn't justify the cost of Perforce. I tried to use CVS again it made me change my mind and go back to Perforce. But then I started looking at the GUI client that Perforce provides for the Mac and thought yet again. Finally, my savior was Subversion. It is free like CVS, yet has a clean command-line syntax and handles renaming files and operations on folders. Like Perforce it has atomic check-ins and good branching. Haven't quite found a good GUI for Subversion, but other than that, I have no reason now to fork out all the $ for Perforce. I used to use Perforce and loved using it on Windows 2000. When I switched to Mac OS X and had to choose version control for my private projects that don’t make loads of money, I couldn’t justify the cost of Perforce. I tried to use CVS again it made me change my mind and go back to Perforce. But then I started looking at the GUI client that Perforce provides for the Mac and thought yet again. Finally, my savior was Subversion. It is free like CVS, yet has a clean command-line syntax and handles renaming files and operations on folders. Like Perforce it has atomic check-ins and good branching. Haven’t quite found a good GUI for Subversion, but other than that, I have no reason now to fork out all the $ for Perforce.

]]>
By: Karl Gretton http://tleaves.com/2004/02/19/perforce-scm-on-os-x/comment-page-1/#comment-94 Karl Gretton Fri, 20 Feb 2004 04:53:47 +0000 http://tleaves.com/?p=29#comment-94 Well, the reality for me is that, in porting many applications from Solaris and HP-UX to MacOS X, I have never encountered an issue. I have a conceptual issue with any possible file naming conflicts at the file system level. If it is the same name in any language or any case, abstract it and maintain a reference elsewhere. Look at the havoc it can cause with webservices or when going from EBCDIC to ASCII. JMTCW Well, the reality for me is that, in porting many applications from Solaris and HP-UX to MacOS X, I have never encountered an issue.

I have a conceptual issue with any possible file naming conflicts at the file system level. If it is the same name in any language or any case, abstract it and maintain a reference elsewhere.

Look at the havoc it can cause with webservices or when going from EBCDIC to ASCII.

JMTCW

]]>