+NEWS for rsync 2.6.4 (30 March 2005)
+Protocol: 29 (changed)
+Changes since 2.6.3:
+
+ OUTPUT CHANGES:
+
+ - When rsync deletes a directory and outputs a verbose message about
+ it, it now appends a trailing slash to the name instead of (only
+ sometimes) outputting a preceding "directory " string.
+
+ - The --stats output will contain file-list time-statistics if both
+ sides are 2.6.4, or if the local side is 2.6.4 and the files are
+ being pushed (since the stats come from the sending side).
+ (Requires protocol 29 for a pull.)
+
+ - The "%o" (operation) log-format escape now has a third value (besides
+ "send" and "recv"): "del." (with trailing dot to make it 4 chars).
+ This changes the way deletions are logged in the daemon's log file.
+
+ - When the --log-format option is combined with --verbose, rsync now
+ avoids outputting the name of the file twice in most circumstances.
+ As long as the --log-format item does not refer to any post-transfer
+ items (such as %b or %c), the --log-format message is output prior to
+ the transfer, so --verbose is now the equivalent of a --log-format of
+ '%n%L' (which outputs the name and any link info). If the log output
+ must occur after the transfer to be complete, the only time the name
+ is also output prior to the transfer is when --progress was specified
+ (so that the name will precede the progress stats, and the full
+ --log-format output will come after).
+
+ BUG FIXES:
+
+ - Restore the list-clearing behavior of "!" in a .cvsignore file (2.6.3
+ was only treating it as a special token in an rsync include/exclude
+ file).
+
+ - The combination of --verbose and --dry-run now mentions the full list
+ of changes that would be output without --dry-run.
+
+ - Avoid a mkdir warning when removing a directory in the destination
+ that already exists in the --backup-dir.
+
+ - An OS that has a binary mode for its files (such as cygwin) needed
+ setmode(fd, O_BINARY) called on the temp-file we opened with
+ mkstemp(). (Fix derived from the cygwin's 2.6.3 rsync package.)
+
+ - Fixed a potential hang when verbosity is high, the client side is
+ the sender, and the file-list is large.
+
+ - Fixed a potential protocol-corrupting bug where the generator could
+ merge a message from the receiver into the middle of a multiplexed
+ packet of data if only part of that data had been written out to the
+ socket when the message from the generator arrived.
+
+ - We now check if the OS doesn't support using mknod() for creating
+ FIFOs and sockets, and compile-in some compatibility code using
+ mkfifo() and socket() when necessary.
+
+ - Fixed an off-by-one error in the handling of --max-delete=N. Also,
+ if the --max-delete limit is exceeded during a run, we now output a
+ warning about this at the end of the run and exit with a new error
+ code (25).
+
+ - One place in the code wasn't checking if fork() failed.
+
+ - The "ignore nonreadable" daemon parameter used to erroneously affect
+ readable symlinks that pointed to a non-existent file.
+
+ - If the OS does not have lchown() and a chown() of a symlink will
+ affect the referent of a symlink (as it should), we no longer try
+ to set the user and group of a symlink.
+
+ - The generator now properly runs the hard-link loop and the dir-time
+ rewriting loop after we're sure that the redo phase is complete.
+
+ - When --backup was specified with --partial-dir=DIR, where DIR is a
+ relative path, the backup code was erroneously trying to backup a
+ file that was put into the partial-dir.
+
+ - If a file gets resent in a single transfer and the --backup option is
+ enabled along with --inplace, rsync no longer performs a duplicate
+ backup (it used to overwrite the first backup with the failed file).
+
+ - One call to flush_write_file() was not being checked for an error.
+
+ - The --no-relative option was not being sent from the client to a
+ server sender.
+
+ - If an rsync daemon specified "dont compress = ..." for a file and the
+ client tried to specify --compress, the libz code was not handling a
+ compression level of 0 properly. This could cause a transfer failure
+ if the block-size for a file was large enough (e.g. rsync might have
+ exited with an error for large files).
+
+ - Fixed a bug that would sometimes surface when using --compress and
+ sending a file with a block-size larger than 64K (either manually
+ specified, or computed due to the file being really large). Prior
+ versions of rsync would sometimes fail to decompress the data
+ properly, and thus the transferred file would fail its verification.
+
+ - If a daemon can't open the specified log file (i.e. syslog is not
+ being used), die without crashing. We also output an error about
+ the failure on stderr (which will only be seen if --no-detach was
+ specified) and exit with a new error code (6).
+
+ - A local transfer no longer duplicates all its include/exclude options
+ (since the forked process already has a copy of the exclude list,
+ there's no need to send them a set of duplicates).
+
+ - When --progress is specified, the output of items that the generator
+ is creating (e.g. dirs, symlinks) is now integrated into the progress
+ output without overlapping it. (Requires protocol 29.)
+
+ - When --timeout is specified, lulls that occur in the transfer while
+ the generator is doing work that does not generate socket traffic
+ (looking for changed files, deleting files, doing directory-time
+ touch-ups, etc.) will cause a new keep-alive packet to be sent that
+ should keep the transfer going as long as the generator continues to
+ make progress. (Requires protocol 29.)
+
+ - The stat size of a device is not added to the total file size of the
+ items in the transfer (the size might be undefined on some OSes).
+
+ - Fixed a problem with refused-option messages sometimes not making it
+ back to the client side when a remote --files-from was in effect and
+ the daemon was the receiver.
+
+ - The --compare-dest option was not updating a file that differred in
+ (the preserved) attributes from the version in the compare-dest DIR.
+
+ - When rsync is copying files into a write-protected directory, fixed
+ the change-report output for the directory so that we don't report
+ an identical directory as changed.