- 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
+ might accidentally merge a message from the receiver into the
+ middle of a multiplexed packet of data that is waiting for the
+ socket to allow it to flush.
+
- We now check if the OS doesn't support using mknod() for creating
FIFOs and sockets, and compile-in using mkfifo() and socket() when
necessary.
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
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 since 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.
+
ENHANCEMENTS:
- Rsync now supports popt's option aliases, which means that you can
- Added the --remove-sent-files option, which lets you move files
between systems.
+ - The hostname in HOST:PATH or HOST::PATH may now be an IPv6 literal
+ enclosed in '[' and ']' (e.g. "[::1]"). (We already allowed IPv6
+ literals in the rsync://HOST:PORT/PATH format.)
+
- When building under windows, the default for --daemon is now to
avoid detaching, requiring the new --detach option to force rsync
to detach.
- If --inplace is specified, the generator flags any transfer that is
using an alternate basis file so that the sender can use the entire
- file in the rsync algorithm (unlike a normal --inplace update).
+ basis file in the rsync algorithm (unlike a normal --inplace update).
- The sending of exclude names is done using filter-rule syntax. This
means that all names have a prefixed rule indicator, even excludes
option. Also, the shell script created by --write-batch will use the
--filter option instead of --exclude-from to capture any filter rules.
+ - An index equal to the file-list count is sent as a keep-alive packet
+ from the generator to the sender, which then forwards it on to the
+ receiver. This normally invalid index is only a valid keep-alive
+ packet if the 16-bit flag-word that follows it contains a single bit
+ (ITEM_IS_NEW, which is normally an illegal flag to appear alone).
+
BUILD CHANGES:
- Handle an operating system that use mkdev() in place of makedev().