* The --progress output now mentions how far along in the
transfer we are, including both a count of files transferred
- and a percentage of the total file-count that we're processed.
- It was also improved to better show the current rate of
- transfer (which is used to estimate the remaining transfer
- time).
+ and a percentage of the total file-count that we've processed.
+ It also shows better current-rate-of-transfer and remaining-
+ transfer-time values.
* The configure script now accepts --with-rsyncd-conf=PATH
to override the default value of the /etc/rsyncd.conf file.
+ * Added a couple extra diffs in the "patches" dir, removed the
+ ones that got applied, and rebuilt the rest.
+
BUG FIXES:
* When -x (--one-file-system) is combined with -L (--copy-links)
or --copy-unsafe-links, no symlinked files are skipped, even
- if the referant file is on a different filesystem.
+ if the referent file is on a different filesystem.
* The --link-dest code now works properly for a non-root user
- when the UIDs of the source and destination differ and -o was
- specified, and when the group of the source can't be used on
- the destination and -g was specified.
+ when (1) the UIDs of the source and destination differ and -o
+ was specified, or (2) when the group of the source can't be
+ used on the destination and -g was specified.
* Fixed a bug in the handling of -H (hard-links) that might
cause the expanded PATH/NAME value of the current item to
* When using --cvs-exclude, the exclude items we get from a
directory's .cvsignore file once again only affect that one
- directory (and not all following directories too).
-
- * When transferring a file that has group 0 with -g specified
- (typically via -a) and not enough privs to retain the group,
- rsync no longer complains about "chown" failing.
+ directory (and not all following directories too). The
+ items are also now properly word-split and parsed without
+ any +/- prefix munging.
* When specifying the USER@HOST: prefix for a file, the USER
part can now contain an '@', if needed (i.e. the last '@'
* Improved the -x (--one-file-system) flag's handling of any
mount-point directories we encounter. It is both more optimal
(in that it no longer does a useless scan of the contents of
- the mount-point dirs) and also fixes a bug where a remaped
- mount of the original filesystem could get discovered on a
- disk we should be ignoring.
+ the mount-point dirs) and also fixes a bug where a remapped
+ mount of the original filesystem could get discovered in a
+ subdir we should be ignoring.
* Rsync no longer discards a double-slash at the start of a filename
when trying to open the file. It also no longer constructs names
* Fixed compilation problem on Tru64 Unix (having to do with
sockaddr.sa_len and sockaddr.sin_len).
+ * Fixed a compatibility problem interacting with older rsync
+ versions that might send us an empty suffix without telling us
+ about the backup-dir.
+
+ * The "hosts allow" option for a daemon-over-remote-shell
+ process now has improved support for IPv6 addresses and a fix
+ for systems that have a length field in their socket structs.
+
+ * Fixed the ability to request an empty backup suffix when
+ sending files to an rsync daemon.
+
INTERNAL:
* Most of the I/O is now buffered, which results in a pretty
* Less memory is used in the file list (a per-file savings).
+ * The generator is now better about not modifying the file list
+ during the transfer in order to avoid a copy-on-write memory
+ bifurcation (on systems where fork() uses shared memory).
+ Previously, rsync's shared memory would slowly become unshared,
+ resulting in real memory usage nearly doubling on the receiving
+ side by the end of the transfer. Now, as long as permissions
+ are being preserved, the shared memory should remain that way
+ for the entire transfer.
+
* Changed hardlink info and file_struct + strings to use
- allocation pools. This reduces memory use for large
- filesets and permits freeing memory to the OS. (J.W. Schultz)
+ allocation pools. This reduces memory use for large file-
+ sets and permits freeing memory to the OS. (J.W. Schultz)
* The 2 pipes used between the receiver and generator processes
(which are forked on the same machine) were reduced to 1 pipe
the generator over to the sender (the latter mainly affected
hard-link messages and verbose --stats output).
- * The reading & writing of the file list in batch-mode is now
+ * The reading & writing of the file-list in batch-mode is now
handled by the same code that sends & receives the list over
the wire. This makes it much easier to maintain.
* Improved the internal uid/gid code to be more portable and
a little more optimized.
+
+ * The device numbers sent when using --devices are now sent as
+ separate major/minor values with 32-bit accuracy (protocol 28).
+ Previously, the copied devices were sent as a single 32-bit
+ number. This will make inter-operation of 64-bit binaries more
+ compatible with their 32-bit brethren. Note that optimizations
+ in the binary protocol often sends the device data using fewer
+ bytes than before, even though more precision is now available.
+
+ * Some cleanup of the exclude/include structures and its code
+ made things clearer, simpler, and more efficient.