[1.36.0] Final requirements for directory and file names

The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure These are now stable for 1.36.0. Hopefully they will also be stable for quite some time beyond 1.36.0. The inspect program has been updated accordingly. --Beman

Beman Dawes wrote:
The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure
Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"? Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today? - Volodya

Vladimir Prus wrote:
Beman Dawes wrote:
The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure
Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"? Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today?
Sigh... Actually all lower case filenames have *always* been part of our requirements, somehow the "Jamfiles" slipped though unnoticed until it was too late :-( John.

John Maddock wrote:
Vladimir Prus wrote:
Beman Dawes wrote:
The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure
Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"? Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today?
Sigh...
Actually all lower case filenames have *always* been part of our requirements, somehow the "Jamfiles" slipped though unnoticed until it was too late :-(
And what are the answers to my questions? ;-) Well, I'd be happy not to touch this issue, actually, if nobody wants to press it. - Volodya

On Jul 3, 2008, at 12:06 PM, John Maddock wrote:
Vladimir Prus wrote:
Beman Dawes wrote:
The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure
Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"? Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today?
Sigh...
Actually all lower case filenames have *always* been part of our requirements, somehow the "Jamfiles" slipped though unnoticed until it was too late :-(
I think we should just drop this requirement. We've been violating this requirement for *years* without any ill effects. Now, we should never have two flies in the same directory that differ only by case. *That* can cause serious problems. - Doug

Doug Gregor wrote:
On Jul 3, 2008, at 12:06 PM, John Maddock wrote:
Vladimir Prus wrote:
Beman Dawes wrote:
The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure
Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"? Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today?
Sigh...
Actually all lower case filenames have *always* been part of our requirements, somehow the "Jamfiles" slipped though unnoticed until it was too late :-(
I think we should just drop this requirement. We've been violating this requirement for *years* without any ill effects.
I like the single case names for the sake of consistency. I'd hate to see each library choosing its own convention, or worse yet, using no convention at all. OTOH, we could soften the requirement. That's what we have been doing in effect with "Jamfile"
Now, we should never have two flies in the same directory that differ only by case. *That* can cause serious problems.
Yeah, that would be a mess. --Beman

Vladimir Prus wrote:
Beman Dawes wrote:
The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure
Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"?
No, we've always made an exception for that.
Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today?
The problems I've seen aren't with file systems, but with programs that partially enforce ISO-9660:1999. The other issue is consistency; what does the convention become? --Beman

Beman Dawes wrote:
Vladimir Prus wrote:
Beman Dawes wrote:
The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure
Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"?
No, we've always made an exception for that.
Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today?
The problems I've seen aren't with file systems, but with programs that partially enforce ISO-9660:1999.
The footnote sounds like filesystems are the issue: Some legacy file systems require single-case names. Single-case names eliminate casing mistakes when moving from case-insensitive to case-sensitive file systems.
The other issue is consistency; what does the convention become?
Well, there are very few files that are traditionally spelled in anything by lowercase. I think saying that header files must be in lowercase, and that source files should be in lowercase, is enough. - Volodya

Vladimir Prus wrote:
Beman Dawes wrote:
Vladimir Prus wrote:
Beman Dawes wrote:
The final requirements for directory and file names are now posted at http://beta.boost.org/development/requirements.html#Directory_structure Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"? No, we've always made an exception for that.
Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today? The problems I've seen aren't with file systems, but with programs that partially enforce ISO-9660:1999.
The footnote sounds like filesystems are the issue:
Some legacy file systems require single-case names. Single-case names eliminate casing mistakes when moving from case-insensitive to case-sensitive file systems.
The other issue is consistency; what does the convention become?
Well, there are very few files that are traditionally spelled in anything by lowercase. I think saying that header files must be in lowercase, and that source files should be in lowercase, is enough.
Or perhaps "By convention, file and directory names are all lower case unless there is a compelling reason to use a different convention for a specific name." We don't have any mechanical way of enforcing that, but at least it gives clear guidance. We can check, however, that a directory doesn't contain two names that differ only in case. What do others think of this approach? --Beman

Beman Dawes wrote:
Or perhaps "By convention, file and directory names are all lower case unless there is a compelling reason to use a different convention for a specific name." That seems reasonable. We don't have any mechanical way of enforcing that, but at least it gives clear guidance. We can check, however, that a directory doesn't contain two names that differ only in case.
The Subversion repository checks this when new files are committed, so we shouldn't need to do this check anywhere else. - Doug

I just want to point out some issues with allowing upper case letters. These aren't showstoppers, just potential points of pain. 1. Samba can be configured to convert everything to lower case. Of course, you can blame samba (or the sysadmin) for this, but it's an issue you never hit with all lower case. 2. Visual Studio has a different understanding of the case of a file from the filesystem. So again, Visual Studio can change the case. 3. Mercurial can get seriously confused if the case of a file changes. 4. gcc processes header files in a case sensitive way (presumably because the filesystem does). Already I have difficulty remembering whether it's <boost/thread.hpp> or <boost/threads.hpp>. Please don't make this worse by adding two more options (and I dread to think how many options it would add to a multi-word header file name). Plus, of course, having files change case will break existing includes. I would go along with Beman's statement ("By convention, file and directory names are all lower case unless there is a compelling reason to use a different convention for a specific name.") but I think it should be enforced by using an exclusion list (with Jamfile as the only entry in it). Jim
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Beman Dawes Sent: 03 July 2008 23:07 To: boost@lists.boost.org Subject: Re: [boost] [1.36.0] Final requirements for directory and file names
Vladimir Prus wrote:
Beman Dawes wrote:
Vladimir Prus wrote:
Beman Dawes wrote:
The final requirements for directory and file names are now posted at
http://beta.boost.org/development/requirements.html#Directory_struc
ture Hmm, lowercase filenames? I hope you are not suggesting to go and rename every "Jamfile" to "jamfile"? No, we've always made an exception for that.
Which filesystems, exactly, require single-case filenames, how many bug reports from users of those filesystems we've got, and what market share do those filesystem have today? The problems I've seen aren't with file systems, but with programs that partially enforce ISO-9660:1999.
The footnote sounds like filesystems are the issue:
Some legacy file systems require single-case names. Single-case names eliminate casing mistakes when moving from case-insensitive to case-sensitive file systems.
The other issue is consistency; what does the convention become?
Well, there are very few files that are traditionally spelled in anything by lowercase. I think saying that header files must be in lowercase, and that source files should be in lowercase, is enough.
Or perhaps "By convention, file and directory names are all lower case unless there is a compelling reason to use a different convention for a specific name."
We don't have any mechanical way of enforcing that, but at least it gives clear guidance. We can check, however, that a directory doesn't contain two names that differ only in case.
What do others think of this approach?
--Beman
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
________________________________________________________________________ This e-mail, and any attachment, is confidential. If you have received it in error, do not use or disclose the information in any way, notify me immediately, and please delete it from your system. ________________________________________________________________________

Vladimir Prus wrote:
The problems I've seen aren't with file systems, but with programs that partially enforce ISO-9660:1999.
The footnote sounds like filesystems are the issue:
Some legacy file systems require single-case names. Single-case names eliminate casing mistakes when moving from case-insensitive to case-sensitive file systems.
The other issue is consistency; what does the convention become?
Well, there are very few files that are traditionally spelled in anything by lowercase. I think saying that header files must be in lowercase, and that source files should be in lowercase, is enough.
Also documentation files: otherwise it's two easy to accidently generate broken links that differ only by case. So I'd rather insist on "all lower case except for Jamfiles and Makefiles". John.

John Maddock wrote:
Vladimir Prus wrote:
The problems I've seen aren't with file systems, but with programs that partially enforce ISO-9660:1999.
The footnote sounds like filesystems are the issue:
Some legacy file systems require single-case names. Single-case names eliminate casing mistakes when moving from case-insensitive to case-sensitive file systems.
The other issue is consistency; what does the convention become?
Well, there are very few files that are traditionally spelled in anything by lowercase. I think saying that header files must be in lowercase, and that source files should be in lowercase, is enough.
Also documentation files: otherwise it's two easy to accidently generate broken links that differ only by case. So I'd rather insist on "all lower case except for Jamfiles and Makefiles".
I'm perfectly fine with just "all lower case". As long as I don't have to rename the Jamfile-s for this release. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail
participants (7)
-
Beman Dawes
-
Doug Gregor
-
Douglas Gregor
-
James Talbut
-
John Maddock
-
Rene Rivera
-
Vladimir Prus