- - If a device-file/special-file changes permissions, rsync now updates the
- permissions without recreating the file.
-
- - If the user specifies a remote-host for both the source and destination,
- we now output a syntax error rather than trying to open the destination
- hostspec as a filename.
-
- - When --inplace creates a new destination file, rsync now creates it with
- permissions 0600 instead of 0000 -- this makes restarting possible when
- the transfer gets interrupted in the middle of sending a new file.
-
- - Reject the combination of --inplace and --sparse since the sparse-output
- algorithm doesn't work when overwriting existing data.
-
- - Fixed the directory name in the error that is output when pop_dir()
- fails.
-
- - Really fixed the parsing of a "!" entry in .cvsignore files this time.
-
- - If the generator gets a stat() error on a file, output it (this used to
- require at least -vv for the error to be seen).
-
- - 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.
-
- - Got rid of the need for --force to be used in some circumstances with
- --delete-after (making it consistent with --delete-before/-during).