Date: Thu, 26 Apr 2001 13:17:39 -0700 From: Bakul Shah <bakul@bitblocks.com> To: Terry Lambert <tlambert@primenet.com> Cc: bright@wintelcom.net (Alfred Perlstein), mckusick@FreeBSD.ORG, fs@FreeBSD.ORG Subject: Re: versioned files via snapshot evilness. Message-ID: <200104262017.QAA11266@tonnant.cnchost.com> In-Reply-To: Your message of "Thu, 26 Apr 2001 17:49:33 -0000." <200104261749.KAA24236@usr05.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> > I'm wondering if it might be possible to abuse the ffs snapshot > > stuff to do file versioning ala VMS. > Not really, IMO. > Versioning ala VMS requires kernel globbing, or amazingly > intrusive library modifications, coupled with a guarantee > by programmers that they will only use the preferred APIs > in their applications. Well... you can do this by treating each file as a directory, where each version creates a new file. Each branch in turn creates a subdir. You can do `ls -R <file>' to list all versions of a file. A release would be a snapshot of all the files. Something like: $ touch foo $ mount -t cvs foo foo $ date > foo $ ls -R foo 1 $ date > foo $ ls -R foo 1 2 $ date > foo/1 ls -R foo 1/1 2 Requires a considerable generalization of the directory concept and a very lightweight mount capability. IMHO dir generalization can be a very rich source of new and interesting design choices. For instance, one should be able to view *any* collection of data as a directory and be able to manipulate this collection in a consistent manner. Of course, this would do considerably more violence to the kernel than just adding kernel globbing and I am sure POSIX would have a hissy-fit but remember, the buzzword these days is `disruptive technology':-) I have a vague recollection that the Thoth OS (David Cheriton's PhD thesis, UofWaterloo) had unified dir and files but no generalized directories beyond that. -- bakul To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104262017.QAA11266>
