Aged news from NEWS file.
[rsync/rsync.git] / NEWS
... / ...
CommitLineData
1NEWS for rsync 2.6.5 (1 Jun 2005)
2Protocol: 29 (unchanged)
3Changes since 2.6.4:
4
5 OUTPUT CHANGES:
6
7 - Non-printable chars in filenames are now output using backslash-
8 escaped characters rather than '?'s. Any non-printable character is
9 output using 3 digits of octal (e.g. "\n" -> "\012"), and a backslash
10 is now output as "\\". Rsync also uses your locale setting, which
11 can make it treat fewer high-bit characters as non-printable.
12
13 - If rsync received an empty file-list when pulling files, it would
14 output a "nothing to do" message and exit with a 0 (success) exit
15 status, even if the remote rsync returned an error (it did not do
16 this under the same conditions when pushing files). This was changed
17 to make the pulling behavior the same as the pushing behavior: we
18 now do the normal end-of-run outputting (depending on options) and
19 exit with the appropriate exit status.
20
21 BUG FIXES:
22
23 - A crash bug was fixed when a daemon had its "path" set to "/", did
24 not have chroot enabled, and used some anchored excludes in the
25 rsyncd.conf file.
26
27 - Fixed a bug in the transfer of a single file when -H is specified
28 (rsync would either infinite loop or perhaps crash).
29
30 - Fixed a case where the generator might try (and fail) to tweak the
31 write-permissions of a read-only directory in list-only mode (this
32 only caused an annoying warning message).
33
34 - If --compare-dest or --link-dest uses a locally-copied file as the
35 basis for an updated version, log this better when --verbose or -i
36 is in effect.
37
38 - Fixed the accidental disabling of --backup during the --delete-after
39 processing.
40
41 - Restored the ability to use the --address option in client mode (in
42 addition to its use in daemon mode).
43
44 - Make sure that some temporary progress information from the delete
45 processing does not get left on the screen when it is followed by a
46 newline.
47
48 - When --existing skips a directory with extra verbosity, refer to it
49 as a "directory", not a "file".
50
51 - When transferring a single file to a different-named file, any
52 generator messages that are source-file related no longer refer to
53 the file by the destination filename.
54
55 - Fixed a bug where hard-linking a group of files might fail if the
56 generator hasn't created a needed destination directory yet.
57
58 - Fixed a bug where a hard-linked group of files that is newly-linked
59 to a file in a --link-dest dir doesn't link the files from the rest
60 of the cluster.
61
62 - When deleting files with the --one-file-system (-x) option set, rsync
63 no longer tries to remove files from inside a mount-point on the
64 receiving side. Also, we don't complain about being unable to remove
65 the mount-point dir.
66
67 - Fixed a compatibility problem when using --cvs-ignore (-C) and
68 sending files to an older rsync without using --delete.
69
70 - Make sure that a "- !" or "+ !" include/exclude pattern does not
71 trigger the list-clearing action that is reserved for "!".
72
73 - Avoid a timeout in the generator when the sender/receiver aren't
74 handling the generator's checksum output quickly enough.
75
76 - Fixed the omission of some directories in the delete processing when
77 --relative (-R) was combined with a source path that had a trailing
78 slash.
79
80 - Fixed a case where rsync would erroneously delete some files and then
81 re-transfer them when the options --relative (-R) and --recursive
82 (-r) were both enabled (along with --delete) and a source path had a
83 trailing slash.
84
85 - Make sure that --max-size doesn't affect a device or a symlink.
86
87 - Make sure that a system with a really small MAXPATHLEN does not cause
88 the buffers in readfd_unbuffered() to be too small to receive normal
89 messages. (This mainly affected Cygwin.)
90
91 - If a source pathname ends with a filename of "..", treat it as if
92 "../" had been specified (so that we don't copy files to the parent
93 dir of the destination).
94
95 - If --delete is combined with a file-listing rsync command (i.e. no
96 transfer is happening), avoid outputting a warning that we couldn't
97 delete anything.
98
99 - If --stats is specified with --delete-after, ensure that all the
100 "deleting" messages are output before the statistics.
101
102 - Improved one "if" in the deletion code that was only checking errno
103 for ENOTEMPTY when it should have also been checking for EEXIST (for
104 compatibility with OS variations).
105
106 ENHANCEMENTS:
107
108 - Added the --only-write-batch=FILE option that may be used (instead
109 of --write-batch=FILE) to create a batch file without doing any
110 actual updating of the destination. This allows you to divert all
111 the file-updating data away from a slow data link (as long as you
112 are pushing the data to the remote server when creating the batch).
113
114 - When the generator is taking a long time to fill up its output buffer
115 (e.g. if the transferred files are few, small, or missing), it now
116 periodically flushes the output buffer so that the sender/receiver
117 can get started on the files sooner rather than later.
118
119 - Improved the keep-alive code to handle a long silence between the
120 sender and the receiver that can occur when the sender is receiving
121 the checksum data for a large file.
122
123 - Improved the auth-errors that are logged by the daemon to include
124 some information on why the authorization failed: wrong user,
125 password mismatch, etc. (The client-visible message is unchanged!)
126
127 - Improved the client's handling of an "@ERROR" from a daemon so that
128 it does not complain about an unexpectedly closed socket (since we
129 really did expect the socket to close).
130
131 - If the daemon can't open the log-file specified in rsyncd.conf, fall
132 back to using syslog and log an appropriate warning. This is better
133 than what was typically a totally silent (and fatal) failure (since a
134 daemon is not usually run with the --no-detach option that was
135 necessary to see the error on stderr).
136
137 - The man pages now consistently refer to an rsync daemon as a "daemon"
138 instead of a "server" (to distinguish it from the server process in a
139 non-daemon transfer).
140
141 - Made a small change to the rrsync script (restricted rsync -- in the
142 support dir) to make a read-only server reject all --remove-* options
143 when sending files (to future-proof it against the possibility of
144 other similar options being added at some point).
145
146 INTERNAL:
147
148 - Rsync now calls setlocale(LC_CTYPE, ""). This enables isprint() to
149 better discern which filename characters need to be escaped in
150 messages (which should result in fewer escaped characters in some
151 locales).
152
153 - Improved the naming of the log-file open/reopen/close functions.
154
155 - Removed some protocol-compatibility code that was only needed to help
156 someone running a pre-release of 2.6.4.
157
158 BUILD CHANGES:
159
160 - Added configure option "--disable-locale" to disable any use of
161 setlocale() in the binary.
162
163 - Fixed a bug in the SUPPORT{,_HARD}_LINKS #defines which prevented
164 rsync from being built without symlink or hard-link support.
165
166 - Only #define HAVE_REMSH if it is going to be set to 1.
167
168 - Configure now disables the use of mkstemp() under HP-UX (since they
169 refuse to fix its broken handling of large files).
170
171 - Configure now explicitly checks for the lseek64() function so that
172 the code can use HAVE_LSEEK64 instead of inferring lseek64()'s
173 presence based on the presence of the off64_t type.
174
175 - Configure no longer mentions the change in the default remote-shell
176 (from rsh to ssh) that occurred for the 2.6.0 release.
177
178 - Some minor enhancements to the test scripts.
179
180 - Added a few new *.diff files to the patches dir, including a patch
181 that enables the optional copying of extended attributes.