Protocol: 29 (unchanged)
Changes since 2.6.6:
+ OUTPUT CHANGES:
+
+ - The itemized output now uses 'S' for a special file instead of
+ clumping them together with the 'D' for devices. The number of
+ characters is also different (to remove an unused field).
+
BUG FIXES:
- Fixed a really old bug that caused --checksum (-c) to checksum all the
- 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 implies -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).
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
+ 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).
+
+ - Added the --skip-empty-dirs (-k) option that makes the receiving
+ rsync discard empty chains of directories from the file-list. This
+ makes it much easier to scan a source hierarchy using include,
+ exclude, filter rules, and only end up with the directories needed
+ to hold the resulting files.
+
+ - 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.
+
+ - Added the --sockopts option for those few who want to customize the
+ TCP options used to contact a daemon rsync.
- Some minor documentation improvements.
- 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
configure option instead of --with-FOO to turn on the inclusion of
the newly patched feature.
+ - The testsuite now sets HOME so that it won't be affecting by a file
+ such as ~/.popt.