-NEWS for rsync 2.6.9 (unreleased)
+NEWS for rsync 2.6.9 (6 Nov 2006)
Protocol: 29 (unchanged)
Changes since 2.6.8:
process. (These problems could only affect an rsync daemon that was
receiving files.)
+ - Fixed a bug when --inplace was combined with a --*-dest option and we
+ update a file's data using an alternate basis file. The code now
+ notices that it needs to copy the matching data from the basis file
+ instead of (wrongly) assuming that it was already present in the file.
+
- Fixed a bug where using --dry-run with a --*-dest option with a path
relative to a directory that does not yet exist: the affected option
gets its proper path value so that the output of the dry-run is right.
- Fixed an infinite loop bug when a filter rule was rejected due to being
overly long.
+ - When the server receives a --partial-dir option from the client, it no
+ longer runs the client-side code that adds an assumed filter rule (since
+ the client will be sending us the rules in the usual manner, and they
+ may have chosen to override the auto-added rule).
+
ENHANCEMENTS:
- Added the --log-file=FILE and --log-file-format=FORMAT options. These
(The deprecated --remove-sent-files is still understood for now, and
still behaves in the same way as before.)
+ - Added the option --no-motd to suppress the message-of-the-day output
+ from a daemon when doing a copy. (See the manpage for a caveat.)
+
- Added a new environment variable to the pre-/post-xfer exec commands (in
the daemon's config file): RSYNC_PID. This value will be the same in
both the pre- and post-xfer commands, so it can be used if the pre-xfer
INTERNAL:
- - Did a code audit using IBM's code checker program and made several
- changes, including: replacing most of the strcpy() and sprintf() calls
- with strlcpy(), snprintf(), and memcpy(); adding a 0-value to an enum
- that had been intermingling a literal 0 with the defined enum values.
+ - Did a code audit using IBM's code-checker program and made several
+ changes, including: replacing most of the strcpy() and sprintf()
+ calls with strlcpy(), snprintf(), and memcpy(), adding a 0-value to
+ an enum that had been intermingling a literal 0 with the defined enum
+ values, silencing some uninitialized memory checks, marking some
+ functions with a "noreturn" attribute, and changing an "if" that
+ could never succeed on some platforms into a pre-processor directive
+ that conditionally compiles the code.
- Fixed a potential bug in f_name_cmp() when both the args are a
top-level "." dir (which doesn't happen in normal operations).
- Changed exit_cleanup() so that it can never return instead of exit.
The old code might return if it found the exit_cleanup() function
- was being called recursively. The new code adds a check into the
- logging functions so that they return back to the exit function
- instead of recursing.
+ was being called recursively. The new code is segmented so that
+ any recursive calls move on to the next step of the exit-processing.
+
+ - The macro WIFEXITED(stat) will now be defined if the OS didn't already
+ define it.
DEVELOPER RELATED:
- The acls.diff and xattrs.diff patches have received a bunch of work to
make them much closer to being acceptable in the main distribution.
+ The xattrs patch also has some preliminary Mac OS X compatibility code
+ that allows Macs and non-macs to exchange extended attributes.
+
+ - A new diff in the patches dir, fake-root.diff, allows rsync to
+ maintain a backup hierarchy with full owner, group, and device info
+ without actually running as root. It does this using a special
+ extended attribute, so it depends on xattrs.diff (which depends on
+ acls.diff).
- The rsync.yo and rsyncd.conf.yo files have been updated to work
better with the latest yodl 2.x releases.