| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
I added a compatibility flag for protocol 31 that will let both sides
know if they should be using the xattr optimization that attempted to
avoid sending xattr info for hardlinked files. Since this optimization
was causing some issues, this compatibility flag will ensure that both
sides know if they should be trying to use the optimization or not.
|
| |
|
| |
|
|
|
|
|
|
|
| |
I'm backing out the xattr optimization that was put in to try
to make xattr data sending more optimal on hard-linked files.
The code was causing hard-to-reproduce bugs, and it's better to
get things done fully & correctly over fully optimally.
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes bug 8565.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Drop one leading '.' from the filename (before adding our own).
- Drop one trailing '.' from a (possibly truncated) name prior to
the .XXXXXX suffix being added.
- Allow the temp-name to collapse to just the .XXXXXX suffix
if the path is long enough to require that.
Note that we don't try to remove multiple dots from a filename
that actually has multiple consecutive dots, since we might as
well learn early if the final name is going to fail or not.
|
| |
|
|
|
|
| |
Improved the xattrs testing to include hard-linking.
|
|
|
|
| |
Fixes bug 7070.
|
|
|
|
| |
Fixes bug 7816.
|
|
|
|
| |
Fixes bug 7337.
|
| |
|
|
|
|
| |
Fixes bug 6293.
|
|
|
|
| |
Fixes part of the problem in bug 5147.
|
|
|
|
|
|
|
|
|
|
| |
- The receiver now sends keep-alive messages to the generator
when it is actively doing work and hasn't sent anything
recently. This ensures that the generator won't timeout
if the receiver is working hard.
- The perform_io() code has improved keep-alive participation.
- Allow the sender to send some keep-alive messages, which
ensures that if it is in a lull, it can probe the socket.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Files-from data is now sent as multiplexed I/O so that it can mingle
with any messages (such as debug output). Requires protocol 31.
Protocol 31 no longer disables output verbosity in a couple instances
that used to cause protocol issues.
Got rid of MSG_* messages that have implied raw data that follows after
them. We instead send a negative index value as a part of the raw data
stream, which is guaranteed to be output together with the following
data. This only affects the (in-progress) protocol 31 and the (self-
contained) communication stream from the receiver to the generator.
Added --debug=IO and improved --debug=FLIST. Some --debug=IO output
requires --msgs2stderr to be used to see it (i.e. sending a message
about sending a message would send another message, ad infinitum).
|
|
|
|
|
|
|
|
|
|
| |
If a symlink, device, special-file, or hard-linked file is replacing
an existing non-directory, the new file is created using a temporary
filename and then renamed into place. Also changed the handling of
a cluster of hard-linked symlinks/devices/special-files to always
ensure the first item in the cluster is correct, since it doesn't
really save any significant work to try to find an existing correct
item later in the cluster to link with.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Changed get_backup_name() to verify the backup path, and make any
missing directories. This avoids accidental use of a symlink as a dir
in a backup path, and gets rid of any other non-dirs that are in the
way. It also avoids the need for various operations to retry after
calling make_bak_dir(), simplifying several pices of code.
- Changed create_directory_path() to make_path(), giving it flags that
lets the caller decide if it should skip a leading slash or drop the
trailing filename.
- Mention when we create the backup directory, so the user is not caught
unaware when rsync uses a directory they didn't expect.
- Got rid of some dir-moving backup code that is not used.
- Added a little more backup-debug output.
|
|
|
|
|
| |
- Avoid sending MSG_NO_SEND to the generator.
- Check if the file is wanted before discarding the batched data.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Backups do not interfere with an atomic update (when possible).
- Backing up a file will remove a directory that is in the way
and visa versa.
- Unify the backup-dir and non-backup-dir code in backup.c.
- Improved the backup tests a little bit.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
- Mention how many files were created (protocol >= 29).
- Mention how many files were deleted (new in protocol 31).
- Follow the file-count, created-count, and deleted-count
with a break-out list of each count by type.
|
| |
|
|
|
|
| |
incremental recursion is active. Added test.
|
| |
|
|
|
|
|
| |
Also improved the human-readable output functions, including
adding the ability to output negative numbers.
|
|
|
|
|
| |
especially important for --delay-updates, particularly when
--remove-source-files was also specified.
|
|
|
|
| |
can do more checking for us.
|
| |
|
| |
|
|
|
|
| |
be used in place of all %.0f output idioms.
|
|
|
|
| |
fine-grained output control (in addition to the coarse -v).
|
| |
|
|
|
|
| |
daemon_filter_list, for improved clarity.
|
| |
|
|
|
|
| |
actually being updated due to the --only-write-batch option.
|
|
|
|
|
|
|
|
| |
- Correctly identify when a missing batch update is for a resend.
- Made a missing batch update an xfer error.
- Made a failed redo an xfer error.
- Identify a failed transfer file consistently when it is a solo file.
- Have --read-batch say "may try again" instead of "will try again".
|
|
|
|
| |
transfer succeeded, but the final rename failed.
|