X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/bac7259081ed93f5e25adb890c534da4700ef395..f5aeb6ff9b04432a84b5c79f5baac26be1f3f4e9:/NEWS diff --git a/NEWS b/NEWS index d724e4a6..0a48551a 100644 --- a/NEWS +++ b/NEWS @@ -1,160 +1,114 @@ -NEWS for rsync 2.6.5 (UNRELEASED) -Protocol: 29 (unchanged) -Changes since 2.6.4: - - OUTPUT CHANGES: - - - Non-printable chars in filenames are now output using backslash- - escaped characters rather than '?'s. Any non-printable character is - output using 3 digits of octal (e.g. "\n" -> "\012"), and a backslash - is now output as "\\". Rsync also uses your locale setting, which - can make it treat fewer high-bit characters as non-printable. - - - If rsync received an empty file list when pulling files, it would - output a "nothing to do" message and exit with a 0 (success) exit - status, even if the remote rsync returned an error (it did not do - this under the same conditions when pushing files). This was changed - to make the pulling behavior the same as the pushing behavior: we - now do the normal end-of-run outputting (depending on options) and - exit with the appropriate exit status. +NEWS for rsync 3.0.1 (UNRELEASED) +Protocol: 30 (unchanged) +Changes since 3.0.0: BUG FIXES: - - A crash bug was fixed when a daemon had its "path" set to "/", did - not have chroot enabled, and used some anchored excludes in the - rsyncd.conf file. + - Fixed a crash bug when a single-use rsync daemon (via remote shell) was + run without specifying a --config=FILE option. - - Fixed a bug in the transfer of a single file when -H is specified - that might have caused an infinite loop or perhaps a crash. + - Fixed a crash when backing up a directory that has a default ACL. - - Fixed a case where the generator might try to tweak the write - permissions of a read-only directory in list-only mode. + - Fixed a bug in the handling of xattr values that could cause rsync to + not think that a file's extended attributes are up-to-date. - - If --compare-dest or --link-dest uses a locally-copied file as the - basis for an updated version, log this better when --verbose or -i - is in effect. + - Fixed the working of --fake-super with --link-dest and --xattrs. - - Fixed the accidental disabling of --backup during the --delete-after - processing. + - Fixed a hang when combining --dry-run with --remove-source-files. - - Restored the ability to use the --address option in client mode (in - addition to its use in daemon mode). + - Fixed the building of the rounding.h file on systems that need custom + CPPFLAGS to be used. Also improved the error reporting if the building + of rounding.h fails. - - Make sure that some temporary progress information from the delete - processing does not get left on the screen when it is followed by a - newline. + - Fixed the use of the --protect-args (-s) option when talking to a daemon. - - When --existing skips a directory with extra verbosity, refer to it - as a "directory", not a "file". + - Fixed the --ignore-existing option's protection of files on the receiver + that are non-regular files on the sender (e.g. if a symlink or a dir on + the sender is trying to replace a file on the receiver). The reverse + protection (protecting a dir/symlink/device from being replaced by a + file) was already working. - - When transferring a single file to a different-named file, any - generator messages that are source-file related no longer refer to - the file by the destination filename. + - Fixed an assert failure if --hard-links is combined with an option that + can cause a file in a set of hard-linked files to be skipped (i.e. if + --append, --ignore-existing, etc. affects one or more files in a hard- + linked set of files, but not all of them). - - Fixed a bug where hard-linking a group of files might fail if the - generator hasn't created a needed destination directory yet. + - Avoid setting the time on a directory that already has the modify time + that we're setting. This avoids tweaking the dir's ctime. - - Fixed a bug where a hard-linked group of files that is newly-linked - to a file in a --link-dest dir doesn't link the files from the rest - of the cluster. + - Improved the daemon-exclude handling to do a better job of excluding + a wider range of path entries. It also sends the user an error about + "missing" files instead of silently ignoring them. - - When deleting files with the --one-file-system (-x) option set, rsync - no longer tries to remove files from inside a mount-point on the - receiving side. + - Fixed some glitches with the dry-run code's missing-directory + handling, including a problem when combined with --fuzzy. - - Fixed a compatibility problem when using --cvs-ignore (-C) and - sending files to an older rsync without using --delete. + - Fixed some glitches with the skipped-directory handling. - - Make sure that a "- !" or "+ !" include/exclude pattern does not - trigger the list-clearing action that is reserved for "!". + - Fixed the 'T'-flag itemizing of symlinks when --time isn't preserved. - - Avoid a timeout in the generator when the sender/receiver aren't - handling the generator's checksum output quickly enough. + - Fixed a glitch in the itemizing of permissions with the -E option. - - Fixed the ommission of some directories in the delete processing when - --relative (-R) was combined with a source path that had a trailing - slash. + - Added the 'c'-flag to the itemizing of non-regular files so that the + itemized output doesn't get hidden if there were no attribute changes, + and also so that the itemizing of a --copy-links run will distinguish + between copying an identical non-regular file and the creation of a + revised version with a new value (e.g. symlink referent, device + numbers). - - Make sure that --max-size doesn't affect a device or a symlink. + - The --append option's restricting of transfers to those that add data no + longer prevents the updating of non-content changes to otherwise up-to- + date files (i.e. those with the same content but differing permissions, + ownership, xattrs, etc.). - - Make sure that a system with a really small MAXPATHLEN does not cause - the buffers in readfd_unbuffered() to be too small to receive normal - messages. (This mainly affected Cygwin.) + - Don't allow --fake-super to be specified with -XX (double --xattrs) + because they conflict. If a daemon has "fake super" enabled, it + automatically downgrades a -XX request to -X. - - If a source filename ends with "..", treat it as if "../" had been - specified (so that we don't copy files to the parent dir of the - destination). + - A daemon doesn't try to auto-refuse the "iconv" option if iconv-support + wasn't compiled in to the daemon (avoiding a warning in the logs). - - If --delete is combined with a file-listing rsync command (i.e. no - transfer is happening), avoid outputting a warning that we couldn't - delete anything. - - - If --stats is specified with --delete-after, ensure that all the - "deleting" messages are output before the statistics. - - - Improved one "if" in the deletion code that was only checking errno - for ENOTEMPTY when it should have also been checking for EEXIST. + - Fixed the support/rrsync script to work with the latest options that + rsync sends (including its flag-specifying use of -e to the server). ENHANCEMENTS: - - Added the --only-write-batch=FILE option that may be used (instead - of --write-batch=FILE) to create a batch file without doing any - actual updating of the destination. This allows you to divert all - the file-updating data away from a slow data link (as long as you - are pushing the data to the remote server when creating the batch). - - - When the generator is taking a long time to fill up its output buffer - (e.g. if the transferred files are few, small, or missing), it now - periodically flushes the output buffer so that the sender/receiver - can get started on the files sooner rather than later. - - - Improved the auth-errors that are logged by the daemon to include - some information on why the authorization failed (wrong user, - password mismatch, etc.). (The client-visible message is unchanged.) + - When getting an error while asking an older rsync daemon for a file + listing, rsync will try to notice if the error is a rejection of the + --dirs (-d) option and let the user know how to work around the issue. - - Improved the client's handling of an "@ERROR" from a daemon so that - it does not complain about an unexpectedly closed socket (since we - really did expect the socket to close). + - Added a few more --no-OPTION overrides. - - If the daemon can't open the log-file specified in rsyncd.conf, fall - back to using syslog (and log an appropriate warning). This is - better than what was typically a totally silent failure (since a - daemon is not usually run with the --no-detach option that was - necessary to see the error on stderr). + - Improved the documentation of the --append option. - - The man pages now consistently refer to an rsync daemon as a "daemon" - to distinguish it from a server in a non-daemon transfer. - - - Made a small change to the rrsync script (restricted rsync -- in the - support dir) to make a read-only server reject all --remove-* options - when sending files (to future-proof it against the possibility of - other similar options being added at some point). + - Improved the documentation of the filter/exclude/include daemon + parameters. INTERNAL: - - Rsync now calls setlocale(LC_CTYPE, "") to enable isprint() to better - discern which filename characters need to be escaped in messages. - - - Improved the naming of the log-file open/reopen/close functions. - - - Removed some protocol compatibility code that was only needed to help - someone running a pre-release of 2.6.4. + - Fixed a couple minor bugs in the included popt library (ones which I + sent to the official popt project for inclusion in the 1.14 release). - BUILD CHANGES: + - Fixed a stat() call that should have been do_stat() so that the proper + normal/64-bit stat() function gets called. (Was in an area that should + not have caused problems, though.) - - Fixed a bug in the SUPPORT{,_HARD}_LINKS defines which prevented - rsync from being built without symlink or hard-link support. + - Changed the file-glob code to do a directory scan without using the + "glob" and "glob.h". This lets us do the globbing with less memory + churn, and also avoid adding daemon-excluded items to the returned + args. - - You can use --disable-locale to turn off any use of setlocale(). + DEVELOPER RELATED: - - Configure now disables the use of mkstemp() under HP-UX (since they - refuse to fix its broken handling of large files). + - The configure script tries to get the user's compiler to not warn about + unused function parameters if the build is not including one or more of + the ACL/xattrs/iconv features. - - Configure now explicitly checks for the lseek64() function so that - the code can use HAVE_LSEEK64 instead of inferring lseek64()'s - presence based on the presence of the off64_t type. + - The configure script now has better checks for figuring out if the + included popt should be used or not. - - Some minor enhancements to the test scripts. + - The RPM spec file was updated to have (1) comments for how to use the + rsync-patch tar file, and (2) an /etc/xinetd.d/rsync file. - - Added a few new diffs to the patches dir, including a patch that - enables the optional copying of extended attributes. + - Updated the build scripts to work with a revised FTP directory + structure.