From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Subject: Re: [9fans] Python filesystem From: geoff@collyer.net MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Message-Id: <20011130001253.9F62D199E7@mail.cse.psu.edu> Date: Thu, 29 Nov 2001 16:11:31 -0800 Topicbox-Message-UUID: 2db4c1f2-eaca-11e9-9e20-41e7f4b1d025 An afterthought on Tenex-style version numbers: I don't believe any implementations of file version numbers permit directories to have versions, only plain files. If directories had versions, and they were kept around for a lot longer than a day, these systems would be more usable (except for the added clutter of the directory versions) and you probably wouldn't want nor need version numbers on plain files. Further, if the directory version number were incremented (and a new directory created) only upon user request (ick), these systems would be closer to the file server dumps: cd '.;3' or cd '/sys/src/cmd;57' though still rather nasty. These systems cut the interaction of time and the file system namespace one way, putting the not-terribly-meaningful version information at the end using odd syntax, which results in clutter between PURGEs and possibly after. The file server dumps cut another way, with time-based version information at the start, using uniform syntax, and gathering related versions of files together (which minimises clutter), rather than gathering related names (file;*) in a cluttered directory. Imagine trying to go back and gather up related source files using file version numbers as they currently stand. You are in a cluttered directory of files and versions. You can't see far. You get to pick up files, examine them, put them down or in your backpack, and wander around, looking at dates or diffing adjacent versions, trying to figure out which files and versions form a consistent set, and keeping a list as you go. Let's see: it's fs.h;203, main.c;173, cfs.c;159, 9p.c;2, mkfile;17. Bletch. I just don't see the attraction. You get ugly file names with odd syntax, no convenient way to back up to a given time, and your directories are always full of trash. Such a deal. Is there *anything* that people find attractive about file version numbers? I understand that people are proposing active file servers based on Tenex-style version numbers, but I would propose to start from a solid foundation rather than the shakey house of cards that is file version numbers.