📄 oldnews
字号:
- 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 connection and also each module-list request that it receives. - New log-format options: %M (modtime), %U (uid), %G (gid), and %B (permission bits, e.g. "rwxr-xrwt"). - The --dry-run option no longer forces the enabling of --verbose. - The --remove-sent-files option now does a better job of incrementally removing the sent files on the sending side (older versions tended to clump up all the removals at the end). - A daemon now supersedes its minimal SIGCHLD handler with the standard PID-remembering version after forking. This ensures that the generator can get the child-exit status from the receiver. - Use of the --bwlimit option no longer interferes with the remote rsync sending error messages about invalid/refused options. - Rsync no longer returns a usage error when used with one local source arg and no destination: this now implies the --list-only option, just like the comparable situation with a remote source arg. - Added the --copy-dirlinks option, a more limited version of --copy-links. - Various documentation improvements, including: a better synopsis, some improved examples, a better discussion of the presence and absence of --perms (including how it interacts with the new --executability and --chmod options), an extended discussion of --temp-dir, an improved discussion of --partial-dir, a better description of rsync's pattern matching characters, an improved --no-implied-dirs section, and the documenting of what the --stats option outputs. - Various new and updated diffs in the patches dir, including: acls.diff, xattrs.diff, atimes.diff, detect-renamed.diff, and slp.diff. 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). - If io_printf() tries to format more data than fits in the buffer, exit with an error instead of transmitting a truncated buffer. - If a va_copy macro is defined, lib/snprintf.c will use it when defining the VA_COPY macro. - 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. - Improved the hash-table code the sender uses to handle checksums to make it use slightly less memory and run just a little faster. 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. - 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.NEWS for rsync 2.6.6 (28 Jul 2005)Protocol: 29 (unchanged)Changes since 2.6.5: SECURITY FIXES: - The zlib code was upgraded to version 1.2.3 in order to make it more secure. While the widely-publicized security problem in zlib 1.2.2 did not affect rsync, another security problem surfaced that affects rsync's zlib 1.1.4. 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 --link-dest). - The outputting of hard-linked files when verbosity was > 1 was not right: (1) 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. (2) 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. - 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. - A couple places that were comparing a local and a remote modification- time were not honoring the --modify-window option. - Fixed a bug where the 'p' (permissions) itemized-changes flag might get set too often (if some non-significant mode bits differed). - 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). ENHANCEMENTS: - Made the "max verbosity" setting in the rsyncd.conf file settable on a per-module basis (which now matches the documentation). - The support/rrsync script has been upgraded to verify the args of options that take args (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. - Improved the documentation that explains the difference between a normal daemon transfer and a daemon-over remote-shell transfer. - Some of the diffs supplied in the patches dir were fixed and/or improved. BUILD CHANGES: - 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). - Added a test to the test suite, itemized.test, that tests the output of -i (log-format w/%i) and some double-verbose messages.NEWS for rsync 2.6.5 (1 Jun 2005)Protocol: 29 (unchanged)Changes since 2.6.4: OUTPUT CHANGES: - Non-printable chars in filenames are now output using backslash- escaped characters rather than '?'s. Any non-printable character is output using 3 digits of octal (e.g. "\n" -> "\012"), and a backslash is now output as "\\". Rsync also uses your locale setting, which can make it treat fewer high-bit characters as non-printable. - If rsync received an empty file-list when pulling files, it would output a "nothing to do" message and exit with a 0 (success) exit status, even if the remote rsync returned an error (it did not do this under the same conditions when pushing files). This was changed to make the pulling behavior the same as the pushing behavior: we now do the normal end-of-run outputting (depending on options) and exit with the appropriate exit status. BUG FIXES: - A crash bug was fixed when a daemon had its "path" set to "/", did not have chroot enabled, and used some anchored excludes in the rsyncd.conf file. - Fixed a bug in the transfer of a single file when -H is specified (rsync would either infinite loop or perhaps crash). - Fixed a case where the generator might try (and fail) to tweak the write-permissions of a read-only directory in list-only mode (this only caused an annoying warning message). - If --compare-dest or --link-dest uses a locally-copied file as the basis for an updated version, log this better when --verbose or -i is in effect. - Fixed the accidental disabling of --backup during the --delete-after processing. - Restored the ability to use the --address option in client mode (in addition to its use in daemon mode). - Make sure that some temporary progress information from the delete processing does not get left on the screen when it is followed by a newline. - When --existing skips a directory with extra verbosity, refer to it as a "directory", not a "file". - When transferring a single file to a different-named file, any generator messages that are source-file related no longer refer to the file by the destination filename. - Fixed a bug where hard-linking a group of files might fail if the generator hasn't created a needed destination directory yet. - Fixed a bug where a hard-linked group of files that is newly-linked to a file in a --link-dest dir doesn't link the files from the rest of the cluster. - When deleting files with the --one-file-system (-x) option set, rsync no longer tries to remove files from inside a mount-point on the receiving side. Also, we don't complain about being unable to remove the mount-point dir. - Fixed a compatibility problem when using --cvs-ignore (-C) and sending files to an older rsync without using --delete. - Make sure that a "- !" or "+ !" include/exclude pattern does not trigger the list-clearing action that is reserved for "!". - Avoid a timeout in the generator when the sender/receiver aren't handling the generator's checksum output quickly enough. - Fixed the omission of some directories in the delete processing when --relative (-R) was combined with a source path that had a trailing slash. - Fixed a case where rsync would erroneously delete some files and then re-transfer them when the options --relative (-R) and --recursive (-r) were both enabled (along with --delete) and a source path had a trailing slash. - Make sure that --max-size doesn't affect a device or a symlink. - Make sure that a system with a really small MAXPATHLEN does not cause the buffers in readfd_unbuffered() to be too small to receive normal messages. (This mainly affected Cygwin.) - If a source pathname ends with a filename of "..", treat it as if "../" had been specified (so that we don't copy files to the parent dir of the destination). - If --delete is combined with a file-listing rsync command (i.e. no transfer is happening), avoid outputting a warning that we couldn't delete anything. - If --stats is specified with --delete-after, ensure that all the "deleting" messages are output before the statistics. - Improved one "if" in the deletion code that was only checking errno for ENOTEMPTY when it should have also been checking for EEXIST (for compatibility with OS variations). ENHANCEMENTS: - Added the --only-write-batch=FILE option that may be used (instead of --write-batch=FILE) to create a batch file without doing any actual updating of the destination. This allows you to divert all the file-updating data away from a slow data link (as long as you are pushing the data to the remote server when creating the batch). - When the generator is taking a long time to fill up its output buffer (e.g. if the transferred files are few, small, or missing), it now periodically flushes the output buffer so that the sender/receiver can get started on t
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -