9fans archive / 2001 / 11 / 757 /    prev next

From: Dan Cross <cross@mat...>
Subject: Re: [9fans] Python filesystem
Date: Thu, 29 Nov 2001 15:37:01 -0500 (EST)

In article <20011129200126.8C925199BB@mai...> you write:
>> cvshell?  I've noticed a trend in Plan 9 to write compressed word
>> sequences using all letters, eg, cvsshell.  
>
>As opposed to all numbers?

Aren't all letters also numbers?  Certainly, that's true in the semetic
languages.  One can think of the Roman letters of English as being
numbered; a is 1, b is 2, etc.  Then of course there are the character
encoding systems such as ASCII, EBCDIC, Unicode, Baudot, etc.

>I'm confused.

It's a natural state for lots of people.  I estimate that I spend
90%-95% of my time hopelessly confused.  :-)

>I suppose I could have written cvs.shell or cvs_shell
>but that removes the ambiguity and that was most
>of the fun.

And that's what I meant: cvshell; is that CVS Hell, or CVS Shell with
an attempt to save a character?

>> Now the question arises, is
>> this a Freudian slip, or an intentional jab at CVS?  :-)
>
>I ported CVS to Plan 9.  Does that make me more
>or less likely to jab at it?  </unhelpful>

Well....  If the things Boyd says about CVS are any indication, it
probably makes you more likely to jab at it.  But then there's the
possibility that you did so subconsiously.  Note that I didn't leave
the option of it being a typo.  :-)

>A constructive note: the biggest problem with making CVS
>a file system is that it's not at all clear how to make
>it present _useful_ views of the world.  The dump is nice
>because the versioning is at the top of the tree, so that
>each directory is internally consistent.  If you did the
>same with CVS, I can easily see being overwhelemed with
>needless detail in order to present consistent pictures.

This is why I was looking at what VMS did; by appending the version
number on the end of the file, and then adding hooks such that opening
foo.dat by default opened the latest version of foo.dat, they
sidestepped much of the detail.  Creating a file automatically created
a new version.  I know several VMS programmers who never bothered with
revision control; the filesystem did it for them.

The downside was that you could have huge numbers of old files hanging
around, and the entire file was copied each time the editor saved a new
version, even if you only changed one character.  That was a pain, and
lead to the necessity for the PURGE command to delete old copies (I
suppose you could have done the same thing with DELETE, but it was a
pain).

At anyrate, I wonder if a two-filesystem model would work; the lower
one holds deltas, etc, and the higher one provides a useful view onto
that.
	- Dan C.