-NEWS for rsync 2.6.6 (UNRELEASED)
+NEWS for rsync 2.6.7 (UNRELEASED)
Protocol: 29 (unchanged)
-Changes since 2.6.5:
+Changes since 2.6.6:
BUG FIXES:
- - The setting of flist->high in clean_flist() was wrong for an empty list.
- This could cause flist_find() to crash in certain rare circumstances
- (e.g. if just the right directory setup was around when --fuzzy was
- combined with --list-dest).
+ - Made hard-links work with symlinks and devices again.
- - The outputting of hard-linked files when verbosity was > 1 was not right:
- without -i it would output the name of each hard-linked file as though
- it had been changed (it now outputs a "is hard linked" message for the
- file); with -i it would output all dots for the unchanged attributes of
- a hard-link (it now changes those dots to spaces, as is done for other
- totally unchanged items).
+ - If a device-file/special-file changes permissions, rsync now updates the
+ permissions without recreating the file.
- - When backing up a changed symlink or device, get rid of any old backup
- item so that we don't get an already-exists error.
+ - 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.
- - A couple places that were comparing a local and a remote modification-
- time were not honoring the --modify-window option.
+ - 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.
- - Fixed a really old, minor bug that could cause rsync to warn about being
- unable to mkdir() a path that ends in "/." because it just created the
- directory (required --relative, --no-implied-dirs, a source path that
- ended in either a trailing slash or a trailing "/.", and a non-existing
- destination dir to tickle the bug in a recent version).
+ - 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.
ENHANCEMENTS:
- - Made the "max verbosity" setting in the rsyncd.conf file settable on a
- per-module basis (which now matches the documentation).
+ - Added the --append option that makes rsync append data onto files
+ that are longer on the source than the destination (this includes new
+ files).
+
+ - If lutimes() and/or lchmod() are around, use them to allow the
+ preservation of attributes on symlinks.
+
+ - Added two config items to the rsyncd.conf parsing: "pre-xfer exec"
+ and "post-xfer exec". These allow a command to be specified on a
+ per-module basis that will be run before and/or after a daemon-mode
+ transfer.
+
+ - When using the --relative option, you can now insert a dot dir in
+ the source path to indicate where the replication of the source dirs
+ should start. For example, if you specify a source path of
+ rsync://host/module/foo/bar/./baz/dir with -R, rsync would only
+ replicate the "baz/dir" part of the source path (note: a trailing
+ dot dir is unaffected unless it also has a trailing slash).
+
+ - Added some new --no-FOO options that make it easier to override
+ unwanted implied or default options. For example, "-a --no-o" (aka
+ "--archive --no-owner") can be used to turn off the preservation of
+ file ownership that is implied by -a.
+
+ - Allow the --temp-dir option to be specified when starting a daemon,
+ which sets the default temporary directory for incoming files.
+
+ - If --delete is combined with --dirs without --recursive, rsync will
+ now delete in any directory whose content is being synchronized.
+
+ - Some minor documentation improvements.
+
+ - Updated some diffs in the patches dir.
+
+ INTERNAL:
- - The support/rrsync script has been upgraded to verify the args of options
- that take them (instead of rejecting any such options). The script was
- also changed to try to be more secure and to fix a problem in the parsing
- of a pull operation that has multiple sources.
+ - Some buffer sizes were expanded a bit, particularly on systems where
+ MAXPATHLEN is overly small (e.g. cygwin).
- BUILD CHANGES:
+ - If io_printf() tries to format more data than fits in the buffer, exit
+ with an error instead of transmitting a truncated buffer.
- - Made configure define NOBODY_USER (currently hard-wired to "nobody") and
- NOBODY_GROUP (set to either "nobody" or "nogroup" depending on what we
- find in the /etc/group file).
+ DEVELOPER RELATED:
- - Added a test to the test suite, itemized.test, that tests the output of
- -i (log-format w/%i) and some double-verbose messages.
+ - 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.