X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/da2d13e3cec2f79362ab94429cc291d3c9653a70..f5b14759fbebac1d1e332db7c10f2b8aff710d41:/NEWS diff --git a/NEWS b/NEWS index 3f01fb0c..2571e740 100644 --- a/NEWS +++ b/NEWS @@ -34,8 +34,30 @@ Changes since 2.6.6: - If waitpid() fails or the child rsync didn't exit cleanly, we now handle the exit status properly and generate a better error. + - Fixed some glitches in the double-verbose output when using --copy-dest, + --link-dest, or --compare-dest. + + - Fixed the matching of the dont-compress items (e.g. *.gz) against files + that have a path component containing a slash. + + - If code reading a filter/exclude file an EINTR error, rsync now clears + the error flag on the file handle so it can keep on reading. + + - If --relative is active, the sending side cleans up trailing "/" or "/." + suffixes to avoid triggering a bug in older rsync versions. Also, we now + reject a ".." dir if it would be sent as a relative dir. + + - If a non-directory is in the way of a directory and rsync is run with + --dry-run and --delete, rsync no longer complains about not being + able to opendir() the not-yet present directory. + ENHANCEMENTS: + - Added the --specials option to tell rsync to copy special files (and does + not require root). The --devices option now affects just character and + block devices (which now matches the documentation). The -D option still + requests both --devices and --specials, and -a still infers -D. + - Added the --append option that makes rsync append data onto files that are longer on the source than the destination (this includes new files). @@ -56,6 +78,12 @@ Changes since 2.6.6: - If lutimes() and/or lchmod() are around, use them to allow the preservation of attributes on symlinks. + - The --link-dest option now affects symlinks and devices (when + possible). + + - Improved the output of hard-linked and copied files when using + --link-dest, --copy-dest, or --compare-dest. + - Added two config items to the rsyncd.conf parsing: "pre-xfer exec" and "post-xfer exec". These allow a command to be specified on a per-module basis that will be run before and/or after a daemon-mode @@ -83,10 +111,31 @@ Changes since 2.6.6: - If --delete is combined with --dirs without --recursive, rsync will now delete in any directory whose content is being synchronized. + - If --backup is combined with --delete without --backup-dir (and + without --delete-excluded), we add a "protect" filter-rule to ensure + that files with the backup suffix are not deleted. + - The file-count stats that are output by --progress were improved to better indicate what the numbers mean. For instance, the output: - "(xfer#5, to-check=8383/9999)" indicates that this was transferred - file #5, and we still need to check 8383 files out of 9999 total. + "(xfer#5, to-check=8383/9999)" indicates that this was the fifth file + to be transferred, and we still need to check 8383 more files out of + a total of 9999. + + - The include/exclude code now allows a dir/*** directive (with 3 + trailing stars) to match both the dir itself as well as all the + content below the dir (dir/** would not match the dir). + + - If the --itemize-changes (-i) option is repeated, rsync now includes + unchanged files in the itemized output (similar to -vv, but without + all the other verbose messages that can get in the way). Of course, + the client must be version 2.6.7 for this to work, but the remote + rsync only needs to be 2.6.7 if you're pushing files. + + - Added the --super option to make the receiver always attempt super- + user activities. This is useful for systems that allow things such + as devices to be created or ownership to be set without being UID 0, + and is also useful for someone who wants to ensure that errors will + be output if the receiving rsync isn't being run as root. - Some minor documentation improvements. @@ -106,6 +155,16 @@ Changes since 2.6.6: - Reduced the amount of stack memory needed for each level of directory recursion by nearly MAXPATHLEN bytes. + - The wildmatch function was extended to allow an array of strings to + be supplied as the string to match. This allows the exclude code to + do less string copying. + + - Got rid of the safe_fname() function (and all the myriad calls) and + replaced it with a new function in the log.c code that filters all + the output going to the terminal. + + - Unified the f_name() and the f_name_to() functions. + DEVELOPER RELATED: - Several diffs in the patches dir now use the proper --enable-FOO