- Fixed a really old bug that caused --checksum (-c) to checksum all the
files encountered during the delete scan (ouch).
+ - Fixed a potential hang in a remote generator: when the receiver gets a
+ read-error on the socket, it now signals the generator about this so that
+ the generator does not try to send any of the terminating error messages
+ to the client (avoiding a potential hang in some setups).
+
- Made hard-links work with symlinks and devices again.
- If the sender gets an early EOF reading a source file, we propagate this
- Added the --chmod=MODE option that allows the destination permissions to
be changed from the source permissions. E.g. --chmod=g+w,o-rwx
- - Added the "incoming chmod" daemon option to allow a module to specify
- what permissions changes should be applied to all files copied to the
- daemon.
+ - Added the "incoming chmod" and "outgoing chmod" daemon options that allow
+ a module to specify what permissions changes should be applied to all
+ files copied to and from the daemon.
- Allow the --temp-dir option to be specified when starting a daemon, which
sets the default temporary directory for incoming files.
setting that lets rsync avoid non-atomic updates (for those times when
--temp-dir is not being used because space is tight).
+ - A new support script, files-to-excludes, will transform a list of files
+ into a set of include/exclude directives that will copy those files.
+
+ - A new option, --executability (-E) can be used to preserve just the
+ execute bit on files, for those times when using the --perms option is
+ not desired.
+
+ - The daemon now logs each module-list request it receives.
+
+ - New log-format options: %M (modtime), %U (uid), %G (gid), and %B
+ (permission bits, e.g. "rwxr-xrwt").
+
- Some minor documentation improvements.
- Updated some diffs in the patches dir.
INTERNAL:
+ - We now use sigaction() and sigprocmask() if possible, and fall back on
+ signal() if not. Using sigprocmask() ensures that rsync enables all the
+ signals that it needs, just in case it was started in a masked state.
+
- Some buffer sizes were expanded a bit, particularly on systems where
MAXPATHLEN is overly small (e.g. cygwin).
DEVELOPER RELATED:
+ - The diffs in the patches dir now require "patch -p1 <DIFF" instead of
+ the previous -p0. Also, the version included in the release tar now
+ affect generated files (e.g. configure, rsync.1, proto.h, etc.), so
+ it is no longer necessary to run autoconf and/or yodl unless you're
+ applying a patch that was checked out from CVS.
+
- 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.
+ - There is a new script, "prepare-source" than can be used to update the
+ various generated files (proto.h, configure, etc.) even before configure
+ has created the Makefile (this is mainly useful when patching the source
+ with a patch that doesn't affect generated files).
+
+ - The testsuite now sets HOME so that it won't be affected by a file such
+ as ~/.popt.