Subject: Re: How to keep case in UNIX pathnames
From: Erik Naggum <erik@naggum.net>
Date: Mon, 27 May 2002 14:11:15 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3231497465354155@naggum.net>

* Aleksandr Skobelev <holycheck@mail.ru>
| Or, may be, what is a proper way to use logical-pathnames with mixed-case
| filenames under UNIX?

  You need to understand that the point with logical pathnames is to have a
  file-system--independent file naming convention that makes porting your
  application to a different system not require any internal changes.  This
  is a fantastically useful thing.  If Unix had had logical pathnames, Unix
  administration, setup, package installation, etc, would have been simple
  and straightforward.  Instead, we have tons of different directories that
  need to be kept in sync, and packages have compiled-in pathnames.  After
  I grokked logical pathnames, I have emulated or implemented them wherever
  I have gone.  Global file systems are simply not good at what they
  attempt to do, and hardwiring directories into programs is simply wrong.

  The mapping from logical to physical pathnames is strictly one-way.  The
  idea is to work within a known and safe universe of names and directories
  that are always portably mappable to physical pathnames.  As long as you
  live within that universe, you have solved a number of problems that are
  hard even to understand are solvable without such a (standard) mechanism.

  So you construct the logical file system with a small number of logical
  hosts and name all your files within it/them, and then arrange for the
  physical world to have the physical files and directories to which they
  are mapped.  Going the other way around is simply misguided.
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.

  70 percent of American adults do not understand the scientific process.