Wayne Davison [Thu, 17 Mar 2005 00:52:33 +0000 (00:52 +0000)]
Fixed the -r kluge sent for pre-2.6.4 --list-only support.
Wayne Davison [Thu, 17 Mar 2005 00:41:18 +0000 (00:41 +0000)]
We need to run our post-processing activities after the end of
the receiver's delay-update processing.
Wayne Davison [Wed, 16 Mar 2005 02:50:00 +0000 (02:50 +0000)]
Mention one other recent change.
Wayne Davison [Wed, 16 Mar 2005 01:12:44 +0000 (01:12 +0000)]
Preparing for release of 2.6.4pre3
Wayne Davison [Wed, 16 Mar 2005 01:06:33 +0000 (01:06 +0000)]
Changed error message for incompatible 2.6.4 pre-release versions.
Wayne Davison [Tue, 15 Mar 2005 23:23:45 +0000 (23:23 +0000)]
Document error messages 6 and 25.
Wayne Davison [Tue, 15 Mar 2005 23:23:41 +0000 (23:23 +0000)]
Added the error message for RERR_LOG_FAILURE and used it when
the daemon can't open the log-file.
Wayne Davison [Tue, 15 Mar 2005 23:23:39 +0000 (23:23 +0000)]
Added RERR_LOG_FAILURE define.
Wayne Davison [Tue, 15 Mar 2005 19:19:44 +0000 (19:19 +0000)]
- Made read_item_attrs() detect and reject a pre1/pre2 rsync (used
by both the sender and the receiver).
- Added an extra phase to the end of the transfer to better handle
delayed updates that have hard links.
Wayne Davison [Tue, 15 Mar 2005 19:19:41 +0000 (19:19 +0000)]
Added an extra phase to the end of the transfer to handle
delayed updates that have hard links.
Wayne Davison [Tue, 15 Mar 2005 19:19:38 +0000 (19:19 +0000)]
- Added an extra phase to the end of the transfer to better handle
delayed updates that have hard links.
- Send the new ITEM_DUMMY_BIT to the sender so that we can figure
out if the other side is pre1 or pre2 and let the receiver reject
it.
Wayne Davison [Tue, 15 Mar 2005 19:19:36 +0000 (19:19 +0000)]
Added ITEM_DUMMY_BIT and moved a few other 'ITEM_*'s around.
Wayne Davison [Tue, 15 Mar 2005 17:30:56 +0000 (17:30 +0000)]
Tweaked the end-of-phase code.
Wayne Davison [Tue, 15 Mar 2005 17:30:52 +0000 (17:30 +0000)]
Handle --delay-updates at the end of the first phase.
Wayne Davison [Tue, 15 Mar 2005 17:30:50 +0000 (17:30 +0000)]
Mention the index number for an "invalid packet at end of run".
Wayne Davison [Mon, 14 Mar 2005 22:22:42 +0000 (22:22 +0000)]
Fixed a just-introduced crash bug in the --fuzzy processing.
Wayne Davison [Mon, 14 Mar 2005 22:17:25 +0000 (22:17 +0000)]
A simple test to ensure that fuzzy processing is working.
Wayne Davison [Mon, 14 Mar 2005 17:30:15 +0000 (17:30 +0000)]
Split the conditional-directory sending out of send_file_name() into
a new function: send_if_directory(). This lets the code that is
recursively descending through the directories make its list of a
dir's contents and close the DIR handle before recursing into the
subdirs. Also, the "recurse" var is just true/false once again.
Wayne Davison [Mon, 14 Mar 2005 17:30:13 +0000 (17:30 +0000)]
The "recurse" value is back to being just 1 or 0 (true or false).
Wayne Davison [Mon, 14 Mar 2005 17:30:10 +0000 (17:30 +0000)]
Got rid of "fudged_recurse".
Wayne Davison [Mon, 14 Mar 2005 17:06:08 +0000 (17:06 +0000)]
Got rid of an unused extern.
Wayne Davison [Mon, 14 Mar 2005 03:36:56 +0000 (03:36 +0000)]
Got rid of some code in f_name_cmp() that tried to make all the
dirname pointers to equivalent strings have identical pointers.
Wayne Davison [Mon, 14 Mar 2005 03:35:40 +0000 (03:35 +0000)]
The --fuzzy code now handles a file->dirname that has an identical
string as another file without being an identical pointer.
Wayne Davison [Sun, 13 Mar 2005 05:36:13 +0000 (05:36 +0000)]
Document the latest %i output.
Wayne Davison [Sun, 13 Mar 2005 05:35:49 +0000 (05:35 +0000)]
Output a '*' at the start of the %i string when deleting.
Wayne Davison [Sun, 13 Mar 2005 05:34:00 +0000 (05:34 +0000)]
- Improved a couple error messages.
- Improved a function name.
Wayne Davison [Sat, 12 Mar 2005 23:54:05 +0000 (23:54 +0000)]
Some misc. improvements (I hope).
Wayne Davison [Sat, 12 Mar 2005 23:52:18 +0000 (23:52 +0000)]
Improved two sentences.
Wayne Davison [Sat, 12 Mar 2005 23:52:08 +0000 (23:52 +0000)]
Tweaked the name of a variable.
Wayne Davison [Fri, 11 Mar 2005 19:23:09 +0000 (19:23 +0000)]
Mention --copy-dest.
Wayne Davison [Fri, 11 Mar 2005 17:36:05 +0000 (17:36 +0000)]
Re-enabled the --copy-dest part of the test.
Wayne Davison [Fri, 11 Mar 2005 17:36:03 +0000 (17:36 +0000)]
Added --copy-dest logic, and improved the updating of --compare-dest
and --link-dest files that are up-to-date but have differing attributes.
Wayne Davison [Fri, 11 Mar 2005 17:35:59 +0000 (17:35 +0000)]
Added --copy-dest logic.
Wayne Davison [Fri, 11 Mar 2005 17:35:57 +0000 (17:35 +0000)]
Tweaked the comment on copy_file().
Wayne Davison [Fri, 11 Mar 2005 17:35:54 +0000 (17:35 +0000)]
Document --copy-dest.
Wayne Davison [Thu, 10 Mar 2005 00:06:01 +0000 (00:06 +0000)]
- Fixed the reading of the fuzzy xname from the socket.
- Call read_item_attrs() with its new arg.
Wayne Davison [Thu, 10 Mar 2005 00:05:58 +0000 (00:05 +0000)]
- Changed read_item_attrs() to return the length of the xname string.
- Tweaked the order of the args to write_item_attrs().
Wayne Davison [Wed, 9 Mar 2005 23:46:28 +0000 (23:46 +0000)]
- Improved the error-checking for some delete_item() calls.
- Move the non-regular-file delete-check above the alt-basis check
where it belongs.
- Keep track of the real statret and real stat-struct for certain
alt-basis scenarios (e.g. partial-dir and fuzzy) so that we send
the right itemized change flags.
Wayne Davison [Wed, 9 Mar 2005 18:55:09 +0000 (18:55 +0000)]
Mention the latest protocol-29 changes.
Wayne Davison [Wed, 9 Mar 2005 18:54:19 +0000 (18:54 +0000)]
We now handle the reading and writing of extra basis-file info: the
fnamecmp_type byte, and the extra name (currently used for fuzzy
processing and hard-link status).
Wayne Davison [Wed, 9 Mar 2005 18:54:16 +0000 (18:54 +0000)]
Got rid of the name-pipe, so we now read the fnamecmp_type data over
the socket for protocol >= 29, or handle it like the old days for
older protocol versions. This means that we now validate this extra
data for safety (such as the fuzzy filename).
Wayne Davison [Wed, 9 Mar 2005 18:54:12 +0000 (18:54 +0000)]
Made itemize() output the fnamecmp_type and the fuzzy name based on
the new ITEM_BASIS_TYPE_FOLLOWS and ITEM_XNAME_FOLLOWS flags. Got
rid of the name-pipe to the receiver.
Wayne Davison [Wed, 9 Mar 2005 18:54:09 +0000 (18:54 +0000)]
Got rid of the name-pipe from the generator to the receiver.
Wayne Davison [Wed, 9 Mar 2005 18:54:06 +0000 (18:54 +0000)]
When itemizing, we now set ITEM_LOCAL_CHANGE and ITEM_XNAME_FOLLOWS.
Wayne Davison [Wed, 9 Mar 2005 18:54:02 +0000 (18:54 +0000)]
- Made an overflow in read_vstring() return an error instead of dying.
- Got rid of a flush kluge that was needed for the name-pipe.
Wayne Davison [Wed, 9 Mar 2005 18:53:58 +0000 (18:53 +0000)]
Handle the new way that 'c' and 'h' get output by "%i".
Wayne Davison [Wed, 9 Mar 2005 18:53:55 +0000 (18:53 +0000)]
Complain if a feature that requires protocol 29 doesn't get it.
Wayne Davison [Wed, 9 Mar 2005 18:53:53 +0000 (18:53 +0000)]
Made the dest_option string non-static.
Wayne Davison [Wed, 9 Mar 2005 18:53:49 +0000 (18:53 +0000)]
Changed some of the ITEM_* defines.
Wayne Davison [Wed, 9 Mar 2005 04:00:45 +0000 (04:00 +0000)]
Mention the latest bug-fix.
Wayne Davison [Wed, 9 Mar 2005 04:00:20 +0000 (04:00 +0000)]
We need to mention any change to a directory, not just a time change.
Yeah, this isn't very consistent with how files are treated, but it's
backward compatible.
Wayne Davison [Wed, 9 Mar 2005 03:49:07 +0000 (03:49 +0000)]
Fixed the change-report output for a directory that has no
write permissions.
Wayne Davison [Wed, 9 Mar 2005 02:25:34 +0000 (02:25 +0000)]
Backward compatibility fix in read_iflags() (for protocols < 29).
Wayne Davison [Sun, 6 Mar 2005 23:37:42 +0000 (23:37 +0000)]
Backed out the hack that reversed ITEM_REPORT_XATTRS with
ITEM_TRANSFER. Yes, it allowed some kludge code that made backward
compatibility seamless, but it made it impossible to remove the hack
in the future. This way, the backward compatibility is just
slightly inaccurate in the display of the first letter in the %i
output, and the only hack can be safely removed without causing
problems.
Wayne Davison [Sat, 5 Mar 2005 18:58:42 +0000 (18:58 +0000)]
- When --max-delete is exceeded, we now count how many deletions
would have happend, warn about the number skipped, and set
io_error to IOERR_DEL_LIMIT.
- When dry_run > 1 (which indicates that the destinationdir is
missing), skip deletions in that dir. This fixes a bug in a
copy that is creating the destination dir w/--delete enabled.
Wayne Davison [Sat, 5 Mar 2005 18:58:38 +0000 (18:58 +0000)]
Handle new IOERR_DEL_LIMIT bit in io_error.
Wayne Davison [Sat, 5 Mar 2005 18:58:35 +0000 (18:58 +0000)]
Define the message for RERR_DEL_LIMIT.
Wayne Davison [Sat, 5 Mar 2005 18:58:32 +0000 (18:58 +0000)]
Added RERR_DEL_LIMIT.
Wayne Davison [Sat, 5 Mar 2005 18:58:29 +0000 (18:58 +0000)]
Added IOERR_DEL_LIMIT.
Wayne Davison [Sat, 5 Mar 2005 18:58:26 +0000 (18:58 +0000)]
Mention that --max-delete must be non-zero.
Wayne Davison [Sat, 5 Mar 2005 17:51:23 +0000 (17:51 +0000)]
Moved the end_progress() call from match.c to sender.c so that we
report progress on 0-length files when pushing files (the receiver
already called it, so we already produced progress on a 0-length
file when pulling).
Wayne Davison [Sat, 5 Mar 2005 17:49:46 +0000 (17:49 +0000)]
Fixed the elapsed time reported for 0-length files.
Wayne Davison [Sat, 5 Mar 2005 16:42:52 +0000 (16:42 +0000)]
Don't try to determine the phase we're in by looking at the value
of csum_length -- it might have been computed to be SUM_LENGTH.
Instead, look at the "phase" variable directly.
Wayne Davison [Sat, 5 Mar 2005 04:34:06 +0000 (04:34 +0000)]
Added a hack that uses the ITEM_REPORT_XATTRS bit (which is the old
ITEM_UPDATING bit) to make us compatible when sending/receiving bits
to/from an earlier pre-release.
Wayne Davison [Sat, 5 Mar 2005 04:34:04 +0000 (04:34 +0000)]
Added a hack that sets the ITEM_REPORT_XATTRS bit (which is the old
ITEM_UPDATING bit) when ITEM_TRANSFER or ITEM_LOCAL_CHANGE is set.
This lets us interact compatibly when sending itemized bits to an
earlier pre-release.
Wayne Davison [Sat, 5 Mar 2005 04:34:01 +0000 (04:34 +0000)]
Swapped the bit-values for ITEM_TRANSFER and ITEM_REPORT_XATTRS.
This lets us be more compatible with the earlier pre-releases
with a better heuristic for backward-compatible itemized bits.
Wayne Davison [Sat, 5 Mar 2005 00:34:02 +0000 (00:34 +0000)]
Improved the description of when "h" is output by %i.
Wayne Davison [Sat, 5 Mar 2005 00:23:55 +0000 (00:23 +0000)]
Turned on -i for itemized output.
Wayne Davison [Sat, 5 Mar 2005 00:21:59 +0000 (00:21 +0000)]
- Updated to handle the new ITEM_* flags.
- Changed read_iflags() to read/write a suffixed hard-link name.
Wayne Davison [Sat, 5 Mar 2005 00:21:56 +0000 (00:21 +0000)]
- Updated to handle the new ITEM_* flags.
- Send MSG_SUCCESS for hard-linked files when -H was specified.
Wayne Davison [Sat, 5 Mar 2005 00:21:54 +0000 (00:21 +0000)]
A few minor tweaks to improve two error messages and make better use
of the "the_file_list" global.
Wayne Davison [Sat, 5 Mar 2005 00:21:50 +0000 (00:21 +0000)]
- Make use of the new ITEM_* flags to mention when things were
updated locally instead of being updated remotely.
- Added support for outputting 'a' in the itemized log-output (for
future use in extended-attribute handling).
Wayne Davison [Sat, 5 Mar 2005 00:21:48 +0000 (00:21 +0000)]
- Made the sock_{in,out} variables non-static.
- Added hlink_list, a FIFO list of finished hard-link items.
- Made get_redo_num() check for finished hard-link items and
call the generator when they are found. This ensures that
we finish all the hard-link items by the time the MSG_DONE
is read and returned to the generator.
- Added get_hlink_num() to read the new hlink_list.
Wayne Davison [Sat, 5 Mar 2005 00:21:44 +0000 (00:21 +0000)]
- Changed hlink_list[] to store file-list indexes instead of
pointers.
- Made hard_link_one() non-static so that the generator can call it.
Improved it to do itemized output.
- Replaced do_hard_links() with hard_link_cluster(), which changes
the hard-linking from a post-transfer loop into a per-cluster
operation that occurs incrementally as the transfer updates (or
finds unchanged) one item in the cluster.
Wayne Davison [Sat, 5 Mar 2005 00:21:42 +0000 (00:21 +0000)]
- Updated itemize() to handle sending of hard-link-name info. Made
it non-static so the hard-link code can now output itemized
messages.
- Made the locally-changed items (such as dirs and symlinks) itemize
using a new ITEM_LOCAL_CHANGE flag instead of the (renamed)
ITEM_TRANSFER flag (formerly ITEM_UPDATING).
- Improved the hard-link support by having a cluster of hard-linked
files get processed as soon as we notice that a single item is
already up-to-date, or it succssfully finishes being updated.
- The hard-linking that occurs when using --link-dest will now be
mentioned at higher levels of verbosity IFF %i is in the log-
format.
Wayne Davison [Sat, 5 Mar 2005 00:21:39 +0000 (00:21 +0000)]
- Changed ITEM_UPDATING to ITEM_TRANSFER.
- Added defines ITEM_HARD_LINKED, ITEM_LOCAL_CHANGE,
ITEM_REPORT_XATTRS, and SIGNIFICANT_ITEM_FLAGS.
- Changed the "next" var in struct hlink into an int.
Wayne Davison [Sat, 5 Mar 2005 00:20:37 +0000 (00:20 +0000)]
Mention latest bug fixes.
Wayne Davison [Fri, 4 Mar 2005 18:01:16 +0000 (18:01 +0000)]
In read_iflags(), we need to set buf to an empty string.
Wayne Davison [Fri, 4 Mar 2005 16:54:08 +0000 (16:54 +0000)]
Got rid of some code in the main recv_files() loop by calling the
new functions read_iflags() and maybe_log_item().
Wayne Davison [Fri, 4 Mar 2005 16:53:26 +0000 (16:53 +0000)]
Moved some code out of the main loop in send_files() into a new
function called read_iflags() (which was made generic enough that
the receiver could use it too). Also call the new maybe_log_item().
Wayne Davison [Fri, 4 Mar 2005 16:52:00 +0000 (16:52 +0000)]
Added maybe_log_item() for use by the sender and receiver.
Wayne Davison [Fri, 4 Mar 2005 16:11:09 +0000 (16:11 +0000)]
Document the new value of %L.
Wayne Davison [Fri, 4 Mar 2005 16:08:58 +0000 (16:08 +0000)]
Document latest format of %i.
Wayne Davison [Fri, 4 Mar 2005 16:08:16 +0000 (16:08 +0000)]
Call log_item() instead of log_recv().
Wayne Davison [Fri, 4 Mar 2005 16:08:02 +0000 (16:08 +0000)]
Call log_item() instead of log_send().
Wayne Davison [Fri, 4 Mar 2005 16:07:50 +0000 (16:07 +0000)]
- Replaced log_send() and log_recv() with log_item().
- Made log_formatted() and log_item() take an "hlink" arg that
will be used to pass in a hard-link name for use in %L.
Wayne Davison [Fri, 4 Mar 2005 15:57:14 +0000 (15:57 +0000)]
Use the new "the_file_list" global instead of our "the_flist" local.
Wayne Davison [Fri, 4 Mar 2005 15:50:22 +0000 (15:50 +0000)]
Transformed the push/pop functions for the redo-list into more
generic flist_num_{push,pop}() functions that can support other
folks caching off file-list index numbers.
Wayne Davison [Fri, 4 Mar 2005 15:38:58 +0000 (15:38 +0000)]
Added read_vstring() and write_vstring() to io.c instead of
having this code in generator.c and receiver.c.
Wayne Davison [Fri, 4 Mar 2005 08:58:27 +0000 (08:58 +0000)]
- Got rid of the checking of msg_fd_in in read_timeout() -- it was
only needed back when the generator was reading a separate redo
pipe from the message pipe.
- Fixed a potential data corruption in the data that the generator
is sending: if a message comes in from the receiver, we now make
sure that we can't put the forwarding of this message to the sender
into the middle of a multiplexed-write record that the generator
is trying to flush.
Wayne Davison [Thu, 3 Mar 2005 18:44:42 +0000 (18:44 +0000)]
Use the new "the_file_list" global.
Wayne Davison [Thu, 3 Mar 2005 18:44:06 +0000 (18:44 +0000)]
- Set the new global "the_file_list".
- Got rid of test of read_batch in an am_sender section since
there is never a sender process for --read-batch.
Wayne Davison [Thu, 3 Mar 2005 02:58:48 +0000 (02:58 +0000)]
Simplified whole_file variable checking.
Wayne Davison [Thu, 3 Mar 2005 02:23:12 +0000 (02:23 +0000)]
Improved some text in --compare-dest and --link-dest.
Wayne Davison [Thu, 3 Mar 2005 01:50:43 +0000 (01:50 +0000)]
Don't kluge the value of statret for --whole-file.
Wayne Davison [Thu, 3 Mar 2005 01:33:51 +0000 (01:33 +0000)]
Moved the checks for --ignore-existing and --update higher in
recv_generator() so that they don't trigger erroneously when
--link-dest is specified.
Wayne Davison [Thu, 3 Mar 2005 00:14:35 +0000 (00:14 +0000)]
- Got rid of the SID_* flags -- use the ITEM_* flags directly.
- If --compare-dest find a file that is not the same in attributes,
we need to copy the file.
Wayne Davison [Thu, 3 Mar 2005 00:14:32 +0000 (00:14 +0000)]
Added ITEM_NO_DEST_AND_NO_UPDATE for use by the generator's
itemize() function.
Wayne Davison [Wed, 2 Mar 2005 18:01:23 +0000 (18:01 +0000)]
Fixed the --compare-dest docs.
Wayne Davison [Wed, 2 Mar 2005 17:48:36 +0000 (17:48 +0000)]
When using multiple --compare-dest options, rsync should avoid
copying a file that has an exact match in any of the dirs.