Can't sleep, so thought I might do some work getting a better backup system built for our machines. I really like rdiff-backup so far, it's got the "rewind to any time" functionality I'd like, along with reasonable query features and fairly simple operation, so this:
rdiff-backup --exclude-if-present .svn --exclude-if-present .bzr --exclude-if-present CVS
pretty much does what I'd want, save that I'd actually want there to be "placeholders" for each of those excluded files (i.e. the svn info, CVS info, bzr info), maybe with some logic such that e.g. changed/un-checked-in files would be backed up. Might also want some way to exclude huge files (I sometimes dump big (temporary) data-files into my home directory), or better, don't exclude, just allow for removing single files from the archive permanently.
I'm considering whether it would be worth it to write a script that generates include files where just the .svn/.bzr/CVS directories are included (just at the top level for CVS/SVN), so that you could enter the directory, do an "svn up" and have the project restored. Thing is, since our projects are generally virtualenv'd, with scripts creating the virtualenvs (and those containing potentially lots of binary installations of packages), the source-code-controlled-directory exclusion doesn't actually reduce the backup sizes much.
So maybe I need some sort of GUI that hooks into an rdiff-backup with the ability to choose/exclude files, patterns and the like. Would be nice to have built-in support for e.g. Thunderbird/Firefox profiles as well. I suppose if I'm going to do that "right" I should likely make it some sort of Konqueror/Kipi/Dolphin plug-in, so you can right click and say "add to backup" and "exclude from backup" along with seeing the presence of previous versions (on the configured backup server) if you enable that, or even be able to browse the folder at an earlier date. I suppose it should also be capable of dealing with other backup systems too.
I gather this is loosely what OS-X does? I know it has a feature called "Time Warp", though I haven't actually seen it in action. Seems like it would be useful, lot of work though. Luckily I find describing projects I don't even *begin* to have the time to start working on a great way to shut down my brain and get to sleep.