- 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.
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).
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.
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).
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.
updated locally instead of being updated remotely.
- Added support for outputting 'a' in the itemized log-output (for
future use in extended-attribute handling).
- 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.
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.
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.
- 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.