Subject: Re: Versioning filesystem in NetBSD
To: Thilo Jeremias <jeremias@optushome.com.au>
From: Daniel Carosone <dan@geek.com.au>
List: current-users
Date: 08/28/2006 08:02:41
On Sat, Aug 26, 2006 at 11:57:27AM +1000, Thilo Jeremias wrote:
> Does anyone know of a versioning filessytem that is supported in netbsd?
>=20
> I had a quick look at versionFS which looked very much like the old VMS=
=20
> thing, but I did not find any sources for it.
> [...]
> Is there anything we have (or could use) ?

We have snapshots of the (entire) filesystem, which could approximate
this well enough depending on your needs.

We also have LFS, which doesn't overwrite old file data until those
segments are cleaned, and thus could potentially offer an interface
into old file versions and content that remain.  It doesn't presently
offer such an interface, though the same underlying property is used
for the LFS version of snapshots.

One problem with any variant of such a facility is defining and
recognising when a file version changes.  At each open/close? At each
fsync? At each write?  What happens when versions 'overlap' because
multiple processes have the file open concurrently? etc.

There's no clear or right answer for all circumstances here; snapshots
are one answer for one set of circumstances, but others are possible.
Application-level answers are common too: version control systems like
CVS/subversion/monotone/mercurial/etc/etc, any number of file
replication tools, and even 'editor backup files'.

--
Dan.