Re: Yet another linux filesytem: with version control

From: Larry McVoy (
Date: Mon Jul 23 2001 - 18:14:54 EST

On Mon, Jul 23, 2001 at 07:29:36PM -0300, Rik van Riel wrote:
> Now if you want to make this kernel-accessible, why
> not make a userland NFS daemon which uses something
> like bitkeeper or PRCS as its backend ?
> The system would then look like this:
> _____ _______ _____ _____
> | | | | | | | |
> | SCM |--| UNFSD |--| NET |--| NFS |
> |_____| |_______| |_____| |_____|
> And there, you have a transparent SCM filesystem
> that works over the network ... without ever having
> to modify the kernel or implement SCM.

I like the way you think, Rik. About 2 years ago I did a very quick and ugly
version of exactly this, just as a proof of concept. You could mount old
versions of the repositories and diff them, etc. Quite cool. It's long
since out of date and it adds a layer of caching and performance loss that
I wasn't willing to live with, but it's a cool idea. When we have more time
than problems I might get back to that. I think it is the right approach.

As to the comments he made about mixing files, that's not a problem. You
do need some way to tell UNFDS that this file is to be revision controlled
and that one is not, but with that you can let .o's be created and just
managed in the backing file system. Works fine. The interface to
revision control stuff seems ugly because you have to be explicit, but that
can be made nice. Suppose we used fake subdirectories as a way of doing
operations, such that

        mv *.c ./.checkin

does a checkin, etc. That's not so bad and you need the interface anyway
to tell the system you are ready to check things in. You don't want it to
check in a new version every time you modify the file, that's excessive.

Larry McVoy            	 lm at  
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Jul 23 2001 - 21:00:17 EST