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.
- 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.
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.
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.
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.
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.
- Call maybe_send_keepalive() from delete_in_dir() so that a really
long delete-pass won't timeout.
- Renamed delete_files() -> do_delete_pass().
- Renamed delete_file() -> delete_item().
- Call get_dirlist() with its new arg.
"code" from recv_generator() to generate_files() so that they
don't get recomputed for every file (we pass them as args now).
- Allow protocols < 29 to call maybe_send_keepalive() so that we can
try to flush the output buffer if things are slow (though we can't
send a keep-alive packet without protocol_version >= 29).
- Don't call set_perms() with PERMS_REPORT if we're itemizing changes.
- Don't call delete_file() with DEL_TERSE if we're itemizing changes.
- Call delete_file() with its new arg.
- Use the new write_short() function.
- Mention the delete() when an item replaces an item of a different type.
- Make sure that this replacing of a non-same item is marked as a new
transfer in the itemized output.