Re: Versioning File Systems?

Larry McVoy (lm@bitmover.com)
Thu, 18 Apr 2002 08:20:25 -0700


On Thu, Apr 18, 2002 at 11:05:58AM -0400, Kent Borg wrote:
> Seriously, I have a server in the basement with a pair of 60 GB RAID 1
> disks the protect me against likely hardware failure, but they don't
> protect me against: "# rm rf /*". They don't even let me easily back
> out a bad RPM from Red Hat.

To protect agains rm -rf /, you need backups, not raid. We do that here
with scripts which just mirror the whole file system to a different drive
every night. Saves us a ton of grief and gives us a very simplistic
version control system, I do stuff like

diff foo.c /nightly/$PWD

all the time for data which isn't in a version control system.

> I guess I am suggesting the (more constructive) discussions over
> desirable Bitkeeper and CVS features consider what it would mean for a
> filesystem to absorb some of the key underlying features of each.

It's certainly a fun space, file system hacking is always fun. There
doesn't seem to be a good match between file system operations and
SCM operations, especially stuff like checkin. write != checkin.
But you can handle that with

echo "I'm done" >> foo.c/checkin

i.e., when the file is treated as a directory, use the rest of the
pathname as the operation. Could be cool.

One other thing you might consider, is gluing an SCM system into
the user level NFS server. That has the nice attribute that you
can export your file system/SCM system. And/Or samba.

The real issue with all of this is that you can make it work
locally by extending your pathname sematics or some other
thing, but I've never figured out how to make it work remotely
without hacking the remote OS. Cross platform is important,
at least it is commercially.

-- 
---
Larry McVoy            	 lm at bitmover.com           http://www.bitmover.com/lm 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/