I have just released version 1.7 of Obnam, my backup program.
Version 1.7, released 2014-03-15
WARNING: This release has had fairly large parts of the internals re-written. There shouldn't be any externally visible changes due to that, but there is a chance of bugs. Be careful. Make a copy of your backup repository before upgrading, if you can.
convert5to6subcommand has been removed. If you need to convert from a pre-1.0 backup repository, and haven't done so yet, please use Obnam version 1.6.1 or earlier to do so.
backup-finishedhook is provided by the backup plugin, so that other plugins may do processing at the end of a backup, such as report the successful backup to a monitoring system. Patch by Enrico Tröger.
The FUSE plugin can now refresh its view, by having the user read the
.pidfile. Patch by Valery Yundin.
--always-restore-setuidto always restore setuid/setgid flags in permissions, even if the restore is not being run by
rootor the owner of the files (as recorded in the backup).
--exclude-fromallows exclusion patterns to be given in a separate file (one per line), instead of in a configuration file or on the command line. Patch by Enrico Tröger.
A start of a manual for Obnam. This will gain more content with new releases. The current versions is mainly an edited version of Lars's blog posts about backups, plus the Obnam tutorial from the Obnam homepage. See http://code.liw.fi/obnam/manual/ for rendered versions (PDF, HTML).
Most of the error messages Obnam produces now have a unique error code:
ERROR: R0B15DX: Cannot find requested generation for client havelockfor example. More error messages will gain error codes in future releases. The error codes are meant to be easy to search for, and will allow error messages to be translated in the future.
obnam-benchmarkprogram got rewritten so that it'll do something useful, but at the same time, it is no longer useful as a general tool. It is now expected to be run from the Obnam source tree (a cloned git repository), and isn't installed anymore.
The log file now includes information about the transfer overhead to the repository. Overhead is all the bytes that are not file content data: filenames, permission bits, extended attributes, etc, plus Obnam internal bookkeeping.
obnam verifynow shows progress both based on number of files and amount of data.
Obnam now doesn't remove chunks that are shared between clients. Previously, this would sometimes happen, because only the first client would correctly record itself as using a chunk. Now all clients do that.
Obnam now creates a
trustdb.gpgin the temporary GNUPGHOME it uses during encryption operations. From version 2.0.22 (or thereabouts),
gpginsists on having a
trustdb.gpgin the GNUPGHOME it uses.
When backing up a large file, and making a checkpoint generation in the middle of it, Obnam would say "continuing backup" after the checkpoint was finished, instead of saying the name of the file. This is now fixed.
obnamlib.Errorexception class has been replaced by the
obnamlib.ObnamErrorclass, which derives from the new
obnamlib.StructuredErrorclass. All new exceptions will need to be derived from
obnamlib.Errorin the future. Also, due to the way
StructuredErrorworks, it is now necessary to create a new exception class for each kind of error. This gives us unique the error codes mentioned above.
obnamlib.Repositoryclass is gone, and replaced with the
obnamlib.RepositoryInterfaceclass, which gets implemented for each repository format (there is only one, for now, but there will be more).