Re: versioning file system
- Date: Fri, 26 Oct 2018 09:57:55 -0400
- From: Dan Ritter <dsr@xxxxxxxxxxxxxxxx>
- Subject: Re: versioning file system
On Thu, Oct 25, 2018 at 05:32:52PM -0700, David Christensen wrote:
> I did Fortran programming on VAX/VMS machines back in the 1980's. Its
> file versioning feature was a godsend . I want that on my Debian
> 2018-10-25 17:28:29 dpchrist@vstretch ~
> $ apt-cache search versioning file system
> copyfs - Versioning filesystem for FUSE
> davfs2 - mount a WebDAV resource as a regular file system
> dvcs-autosync - Automatically synchronize distributed version control
> fsvs - Full system versioning with metadata support
> fusedav - filesystem to mount WebDAV shares
> incron - cron-like daemon which handles filesystem events
> python-migrate - Database schema migration for SQLAlchemy - Python 2.7
> python-migrate-doc - Database schema migration for SQLAlchemy - doc
> python3-migrate - Database schema migration for SQLAlchemy - Python 3.x
> Has anybody tried copyfs, fsvs, or anything else with file versioning?
The problem with fsvs and copyfs and other FUSE-based things is
that they tend to be slow, so slow that you don't want to put
major chunks of your system in them.
On the other hand, it's usually easy to make whatever editor you
habitually use hook into a versioning system for every save:
vim vim-auto-commit or fugitive
and it turns out that Microsoft open-sourced Visual Studio Code
and it has git support built-in.
On the other hand, if you want a system that is fast and can
handle everything, not just what you are working on right now,
- install rsnapshot and have it do automatic periodic backups,
like once an hour
- use ZFS and tell it automatically make snapshots, maybe even
once an hour (syncoid/sanoid are your friends here).