| 1 | NEWS for rsync 3.0.1 (UNRELEASED) |
| 2 | Protocol: 30 (unchanged) |
| 3 | Changes since 3.0.0: |
| 4 | |
| 5 | NOTABLE CHANGES IN BEHAVIOR: |
| 6 | |
| 7 | - Added the 'c'-flag to the itemizing of non-regular files so that the |
| 8 | itemized output doesn't get hidden if there were no attribute changes, |
| 9 | and also so that the itemizing of a --copy-links run will distinguish |
| 10 | between copying an identical non-regular file and the creation of a |
| 11 | revised version with a new value (e.g. a changed symlink referent, a |
| 12 | new device number, etc.). |
| 13 | |
| 14 | BUG FIXES: |
| 15 | |
| 16 | - Fixed a crash bug when a single-use rsync daemon (via remote shell) was |
| 17 | run without specifying a --config=FILE option. |
| 18 | |
| 19 | - Fixed a crash when backing up a directory that has a default ACL. |
| 20 | |
| 21 | - Fixed a bug in the handling of xattr values that could cause rsync to |
| 22 | not think that a file's extended attributes are up-to-date. |
| 23 | |
| 24 | - Fixed the working of --fake-super with --link-dest and --xattrs. |
| 25 | |
| 26 | - Fixed a hang when combining --dry-run with --remove-source-files. |
| 27 | |
| 28 | - Fixed a bug with --iconv's handling of files that cannot be converted: |
| 29 | a failed name can no longer cause a transfer failure. |
| 30 | |
| 31 | - Fixed the building of the rounding.h file on systems that need custom |
| 32 | CPPFLAGS to be used. Also improved the error reporting if the building |
| 33 | of rounding.h fails. |
| 34 | |
| 35 | - Fixed the use of the --protect-args (-s) option when talking to a daemon. |
| 36 | |
| 37 | - Fixed the --ignore-existing option's protection of files on the receiver |
| 38 | that are non-regular files on the sender (e.g. if a symlink or a dir on |
| 39 | the sender is trying to replace a file on the receiver). The reverse |
| 40 | protection (protecting a dir/symlink/device from being replaced by a |
| 41 | file) was already working. |
| 42 | |
| 43 | - Fixed an assert failure if --hard-links is combined with an option that |
| 44 | can skip a file in a set of hard-linked files (i.e. --ignore-existing, |
| 45 | --append, etc.), without skipping all the files in the set. |
| 46 | |
| 47 | - Avoid setting the modify time on a directory that already has the right |
| 48 | modify time set. This avoids tweaking the dir's ctime. |
| 49 | |
| 50 | - Improved the daemon-exclude handling to do a better job of applying the |
| 51 | exclude rules to path entries. It also sends the user an error just as |
| 52 | if the files were actually missing (instead of silently ignoring the |
| 53 | user's args), and avoids sending the user the filter-action messages |
| 54 | for these non-user-initiated rules. |
| 55 | |
| 56 | - Fixed some glitches with the dry-run code's missing-directory |
| 57 | handling, including a problem when combined with --fuzzy. |
| 58 | |
| 59 | - Fixed some glitches with the skipped-directory handling. |
| 60 | |
| 61 | - Fixed the 'T'-flag itemizing of symlinks when --time isn't preserved. |
| 62 | |
| 63 | - Fixed a glitch in the itemizing of permissions with the -E option. |
| 64 | |
| 65 | - The --append option's restricting of transfers to those that add data no |
| 66 | longer prevents the updating of non-content changes to otherwise up-to- |
| 67 | date files (i.e. those with the same content but differing permissions, |
| 68 | ownership, xattrs, etc.). |
| 69 | |
| 70 | - Don't allow --fake-super to be specified with -XX (double --xattrs) |
| 71 | because the options conflict. If a daemon has "fake super" enabled, |
| 72 | it automatically downgrades a -XX request to -X. |
| 73 | |
| 74 | - Fixed a couple bugs in the parsing of daemon-config excludes that could |
| 75 | make a floating exclude rule get treated as matching an absolute path. |
| 76 | |
| 77 | - A daemon doesn't try to auto-refuse the "iconv" option if iconv-support |
| 78 | wasn't compiled in to the daemon (avoiding a warning in the logs). |
| 79 | |
| 80 | - Fixed the inclusion of per-dir merge files from implied dirs. |
| 81 | |
| 82 | - Fixed the support/rrsync script to work with the latest options that |
| 83 | rsync sends (including its flag-specifying use of -e to the server). |
| 84 | |
| 85 | ENHANCEMENTS: |
| 86 | |
| 87 | - Added the --old-dirs (--old-d) option to make it easier for a user to |
| 88 | ask for file-listings with older rsync versions (this is easier than |
| 89 | having to type "-r --exclude='/*/*'" manually). |
| 90 | |
| 91 | - When getting an error while asking an older rsync daemon for a file |
| 92 | listing, rsync will try to notice if the error is a rejection of the |
| 93 | --dirs (-d) option and let the user know how to work around the issue. |
| 94 | |
| 95 | - Added a few more --no-OPTION overrides. |
| 96 | |
| 97 | - Improved the documentation of the --append option. |
| 98 | |
| 99 | - Improved the documentation of the filter/exclude/include daemon |
| 100 | parameters. |
| 101 | |
| 102 | INTERNAL: |
| 103 | |
| 104 | - Fixed a couple minor bugs in the included popt library (ones which I |
| 105 | sent to the official popt project for inclusion in the 1.14 release). |
| 106 | |
| 107 | - Fixed a stat() call that should have been do_stat() so that the proper |
| 108 | normal/64-bit stat() function gets called. (Was in an area that should |
| 109 | not have caused problems, though.) |
| 110 | |
| 111 | - Changed the file-glob code to do a directory scan without using the |
| 112 | "glob" and "glob.h". This lets us do the globbing with less memory |
| 113 | churn, and also avoid adding daemon-excluded items to the returned |
| 114 | args. |
| 115 | |
| 116 | DEVELOPER RELATED: |
| 117 | |
| 118 | - The configure script tries to get the user's compiler to not warn about |
| 119 | unused function parameters if the build is not including one or more of |
| 120 | the ACL/xattrs/iconv features. |
| 121 | |
| 122 | - The configure script now has better checks for figuring out if the |
| 123 | included popt code should be used or not. |
| 124 | |
| 125 | - Fixed two testsuite glitches: avoid a failure if someone's "cd" command |
| 126 | outputs the current directory when cd-ing to a relative path, and made |
| 127 | the itemized test query how rsync was built to determine if it should |
| 128 | expect hard-linked symlinks or not. |
| 129 | |
| 130 | - Updated the testsuite to verify that various bug fixes remain fixed. |
| 131 | |
| 132 | - The RPM spec file was updated to have: (1) comments for how to use the |
| 133 | rsync-patch tar file, and (2) an /etc/xinetd.d/rsync file. |
| 134 | |
| 135 | - Updated the build scripts to work with a revised FTP directory |
| 136 | structure. |