X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/b3bc31102cbe14224206898ae2736656205b3485..ac1d2d338450eb005abf03002f5784097caf7e19:/NEWS diff --git a/NEWS b/NEWS index 8add735b..8d1fbeff 100644 --- a/NEWS +++ b/NEWS @@ -13,24 +13,26 @@ Changes since 2.6.0: * 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 @@ -51,11 +53,9 @@ Changes since 2.6.0: * 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 '@' @@ -73,17 +73,35 @@ Changes since 2.6.0: * 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 that start with a double slash (unless the user supplied them). + * Path-specifying options to a daemon should now work the same with + or without chroot turned on. Previously, such a option (such as + --link-dest) would get its absolute path munged into a relative + one if chroot was not on, making that setting fairly useless. + Rsync now transforms the path into one that is based on the + module's base dir when chroot is not enabled. + * 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 value without + telling us that --backup-dir was specified. + + * 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 @@ -121,9 +139,18 @@ Changes since 2.6.0: * 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 @@ -133,9 +160,20 @@ Changes since 2.6.0: 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.