New in v0.13.4 (??????????) --------------------------- Regressing and restoring should now take less memory when processing large directories (noticed by Luke Mewburn and others). When regressing, remove mirror_metadata and similar increments first. This will hopefully help regressing a backup that failed because disk was full (reported by Erik Forsberg). Fixed remote quoting errors found by Daniel Drucker. Fixed handling of (lack of) daylight savings time. Earlier bug would cause some files to be marked an hour later. Thanks to Troels Arvin and Farkas Levente for bug report. Altered file selection when restoring so excluded files will not be deleted from the target dir. The old behavior was technically intended and documented but not very convenient. Thanks to Oliver Kaltenecker for bug report. New in v0.13.3 (2003/10/14) --------------------------- Fixed some of the --restrict options which would cause spurious violation errors. --list-changed-since and --list-at-time now work remotely. Thanks to Morten Werner Olsen for bug report. Fixed logic bug that could make restoring extremely slow and waste memory. Thanks for Jacques Botha for report. Fixed bug restoring some directories when mirror_metadata file was missing (as when made by 0.10.x version). Regressing and restoring as non-root user now works on directories that contain unreadable files and directories as long as they are owned by that user. Bug report by Arkadiusz Miskiewicz. Hopefully this is the last of the unreadable file bugs... Rewrote hard link tracking system. New way should use less memory. Fixed bug causing rdiff-backup to crash when backing up from system supporting EAs/ACLs to one that didn't. New in v0.13.2 (2003/09/16) --------------------------- Change ownership policy and added --user-mapping-file and --group-mapping-file switches. See man page for more information. Added option --never-drop-acls to cause fatal error instead of dropping any acls or acl entries. Thanks to Greg Freemyer for suggestion. Specified socket type as SOCK_STREAM. (Error reported by Erik Forsberg.) Fixed bug backing up unreadable regular files and directories when rdiff-backup is run by root on the source site and non-root on the destination side. (Reported by Troels Arvin and Arkadiusz Miskiewicz.) If there is data missing from the destination dir (for instance if a user mistakenly deletes it), only warn when restoring, instead of exiting with error. Fixed bug in EA/ACL restoring, noticed by Greg Freemyer. Updated quoting of filenames and extended attributes names to match forthcoming attr/facl utilities. Strange characters should now be properly escaped. Fixed problems with --restrict options that would cause proper sessions to fail. Thanks to Randall Nortman for error report. Added new time specification by backup number. So now you can '--remove-older-than 2B' or '--list-at-time 0B'. Original suggestion by Alan Bailward. File examples.html added to distribution; examples section removed from man page. Removed option --no-change-dir-inc-perms. Instead when copying permissions to directory increments, mask with 0777. New in v0.13.1 (2003/08/08) --------------------------- Restore of archives made by 0.10.x and earlier fixed, although hard link information is not restored unless it is current in the mirror. (Bug reported by Jeff Lessem.) Fixed problem with door files locally when repository is remote. (Reported by Robert Weber.) Patch by Jeffrey Marshall fixes socket/fifo recognition on Mac OS X (which apparently has buggy macros). Patch by Jeffrey Marshall fixes --calculate-average mode, which seems to have broken recently. rdiff-backup should now work and build with python 2.3. Thanks to Arkadiusz Miskiewicz and Arkadiusz Patyk for bug reports and a patch. rdiff-backup now builds and requires librsync 0.9.6. This version should be much better than the old one and everyone should probably upgrade. Much thanks to Donovan Baarda for all the work that went into this release. New in v0.13.0 (2003/07/22) --------------------------- To prevent the buildup of confusing and error-prone options, the capabilities of the source and destination file systems are now autodetected. Detected features include allowed characters, extended attributes, access control lists, hard links, ownership, and directory fsyncing. Options such as --windows-mode, --chars-to-quote, --quoting-char, and --windows-restore-mode have been removed. Now rdiff-backup supports user extended attributes (EAs). To take advantage of this you will need the python module pyxattr and a file system that supports EAs. Thanks to Greg Freemyer for valuable discussion. Support for access control lists (ACLs) was also added. An ACL capable file system and the python package pylibacl (which exports the posix1e module) are required. Thanks to Greg Freemyer for valuable discussion. Thanks to patches by Daniel Hazelbaker, rdiff-backup now reads and writes Mac OS X style resource forks! ****** Warning ****** The above features are new to this development release, and it is difficult to test all the possibly combinations of source and destination file systems. They should not be considered stable. However, help would be appreciated testing these new features. ****** Warning #2 ****** rdiff-backup records ACL and EA information in files designed to be compatible with the utilities "getfacl" and "getfattr". However, there is a possible security hole in both these formats (see http://acl.bestbits.at/pipermail/acl-devel/2003-June/001498.html). rdiff-backup's format will be fixed when getf{attr|acl}'s is. Added --list-increment-sizes switch, which tells you how much space the various backup files take up. (Suggested by Andrew Bressen) Although it should be detected automatically, can avoid copying permissions to directory increments with --no-change-dir-inc-perms. (Problem on FreeBSD when backing up sticky directories reported by Troels Arvin.) Fixed bug with --check-destination and --windows-mode reported by Tucker Sylvestro. The librsync blocksize is now chosen based on filesize. This should make operations on large files faster (in some cases, orders of magnitude faster). Thanks to Ty! Boyack for bringing this issue to my attention. New in v0.12.0 (2003/06/26) --------------------------- Fixed (?) bug that caused crash when file changes type from regular file in middle of download (reported by Ty! Boyack). Failure to construct regular file in regression/restoration only causes warning, not fatal error. Removed --exclude-mirror option. (Probably no one uses this, and it adds clutter.) --include and --exclude options should work now with restores, with some speed penalty. New in v0.11.5 (2003/06/20) --------------------------- Added EDEADLOCK to the list of skippable errors. (Thanks to Dave Kempe for report.) Added --list-at-time option at request of Farkas Levente. Various fixes for backing up onto windows directories. Thanks to Keith Edmunds for bug reports and testing. Fixed possible crash when a file would be deleted while being processed (reported by Robert Weber). Handle better cases when there are two files with the same name in the same directory. Added --windows-restore switch, for use when when restoring from a windows-style file system to a normal one. Use --windows-mode when backing up. Scott Bender's patch fixes backing up hard links when first linked file is quoted. New in v0.11.4 (2003/03/15) --------------------------- Fixed bug incrementing sockets whose filenames were pretty long, but not super long. Reported by Olivier Mueller. Added Albert Chin-A-Young's patch to add a few options to the setup.py install script. Apparently fixed rare utime type bug. Thanks to Christian Skarby for report and testing. Added detailed file_statistics (in addition to session_statistics) as requested by Dean Gaudet. Disable with --no-file-statistics option. Minor speed enhancements. New in v0.11.3 (2003/03/04) --------------------------- Fixed a number of bugs reported by Olivier Mueller: Brought some old parts of the man page up-to-date. Fixed bug if unrecoverable error on second backup to a directory. Fixed spurious error message that could appear after a successful backup. --print-statistics option works again (before it would silently ignored). Fixed cache pipeline overflow bug. This error could appear on large remote backups when many files have not changed. New in v0.11.2 (2003/03/01) --------------------------- Fixed seg fault bug reported by a couple sparc/openbsd users. Thanks to Dave Steinberg for giving me an account on his system for testing. Re-enabled --windows-mode and filename quoting. Fixed selection bug: In 0.11.1, files which were included in one backup would be automatically included in the next. Now you can include/exclude files session-by-session. Fixed ownership compare bug: In 0.11.1, backups where the destination side was not root would preserve ownership information by recording it in the metadata file. However, mere ownership changes would not trigger creation of new increments. This has been fixed. Added the --no-inode-compare switch. You probably don't need to use it though. If a special file cannot be created on the destination side, a 0 length regular file will be written instead as a placeholder. (Restores should work fine because of the metadata file.) Yet another error handling strategy (hopefully this is the last one for a while, because this stuff isn't very exciting, and takes a long time to write): All recoverable errors are classified into one of three groups: ListErrors, UpdateErrors, and SpecialFileErrors. rdiff-backup's reaction to each error is more formally defined (see the error policy page, currently at http://rdiff-backup.stanford.edu/error_policy.html). rdiff-backup makes no attempt to recover or clean up after unrecoverable errors. However, it now uses fsync() to increment the destination directory in a reversable way. If there is an error, the next backup will regress the destination directory into its state before the aborted backup. The above process can be done without a backup with the --check-destination-dir option. Improved error logging. Instead of the old haphazard reporting method, which sometimes didn't indicate the file an error occurred on, now all recoverable errors are reported in a standard format and also written to the error_log.