0.1a GPL (GNU General Public License)    
3.9/5 15
Backup adds instant version control to any file on a Unix system.




Backup project adds instant version control to any file on a Unix system.

Do you hate *.bak and *.20050101 and *.cjn (your initials here) and *.do.not.touch files as much as I do? They litter your filesystem any time someone (and we're all guilty of it) needs to back-up a file they're working on.

But who ever comes back and cleans the mess up? At what point is an old backed-up file no longer needed? And what about when you need that backup file only to discover that it's missing, or you didn't capture one because you didn't want to add clutter? Backup is my answer to all that. It adds instantly available, reliable version control to every file in the filesystem.

Backup is a lightweight interface to the Subversion svn_fs library. It uses the powerful version control software as a backend to a simple and minimalistic (though effective) user interface. It is designed for use on Linux/Unix (including OS X) systems as a method of archiving configuration files that change semi-frequently, but do not necessarily warrent their own version control mechanism or repository. Things like "/etc/hosts" or "httpd.conf".

It can create a backup of any file without having to import it first, without worrying about setting up new repositories, and (because it speaks directly to the FS layer) without littering hidden ".svn" (or even worse, visable "CVS") directories all over the place. It does this by using a single global "archive," which contains a filesystem that mirrors your root as you add to it. You can view the archive and restore files, do diffs, and move things around as necessary. For more complex administration, the archive is a standard Subversion file system which can be administrated with any compatable client (including the 'svn' command line tools).

The current version is knocked together in Perl. It's alpha, but it is pretty functional... at least for a proof of concept. Eventually I plan to re-write it in C... but we all know about "the best laid plans." In the mean while, the Perl version does work... mostly. The only real trick is that you need to compile and install the Subversion bindings for it Perl. There are some other modules you may need as well, but they're all fairly standard.


You probably shouldn't if you you're doing mission-critical work. It's still alpha code after-all. But if you do decide to give it a spin, don't blame me for any breakage (the only thing that should damage existing files is the combination of '-r' and '-o', which will overwrite during a restore).
Last updated on February 2nd, 2006

0 User reviews so far.