Commit Graph

  • 1129070514 - 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 2005-03-15 19:19:44 +00:00
  • ac3f7b81f8 Added an extra phase to the end of the transfer to handle delayed updates that have hard links. Wayne Davison 2005-03-15 19:19:41 +00:00
  • 62f9573fb3 - 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 2005-03-15 19:19:38 +00:00
  • 6d0e5d2e62 Added ITEM_DUMMY_BIT and moved a few other 'ITEM_*'s around. Wayne Davison 2005-03-15 19:19:36 +00:00
  • 8b48bf1154 Tweaked the end-of-phase code. Wayne Davison 2005-03-15 17:30:56 +00:00
  • 42be53201f Handle --delay-updates at the end of the first phase. Wayne Davison 2005-03-15 17:30:52 +00:00
  • c7791b8cb2 Mention the index number for an "invalid packet at end of run". Wayne Davison 2005-03-15 17:30:50 +00:00
  • 7e9059d60f Fixed a just-introduced crash bug in the --fuzzy processing. Wayne Davison 2005-03-14 22:22:42 +00:00
  • f3ebe1a77e A simple test to ensure that fuzzy processing is working. Wayne Davison 2005-03-14 22:17:25 +00:00
  • 301fb56ce9 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 2005-03-14 17:30:15 +00:00
  • aa7a6e878b The "recurse" value is back to being just 1 or 0 (true or false). Wayne Davison 2005-03-14 17:30:13 +00:00
  • 0a39837a62 Got rid of "fudged_recurse". Wayne Davison 2005-03-14 17:30:10 +00:00
  • b2e8a9b293 Got rid of an unused extern. Wayne Davison 2005-03-14 17:06:08 +00:00
  • a98ad81760 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 2005-03-14 03:36:56 +00:00
  • ccc51c8331 The --fuzzy code now handles a file->dirname that has an identical string as another file without being an identical pointer. Wayne Davison 2005-03-14 03:35:40 +00:00
  • ee171c6da9 Document the latest %i output. Wayne Davison 2005-03-13 05:36:13 +00:00
  • d5609e969d Output a '*' at the start of the %i string when deleting. Wayne Davison 2005-03-13 05:35:49 +00:00
  • 927c806841 - Improved a couple error messages. - Improved a function name. Wayne Davison 2005-03-13 05:34:00 +00:00
  • 2da9dda1c0 Some misc. improvements (I hope). Wayne Davison 2005-03-12 23:54:05 +00:00
  • 3117bc16a5 Improved two sentences. Wayne Davison 2005-03-12 23:52:18 +00:00
  • 717b04306a Tweaked the name of a variable. Wayne Davison 2005-03-12 23:52:08 +00:00
  • 271220c542 Mention --copy-dest. Wayne Davison 2005-03-11 19:23:09 +00:00
  • 566a874141 Re-enabled the --copy-dest part of the test. Wayne Davison 2005-03-11 17:36:05 +00:00
  • 967866d4df 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 2005-03-11 17:36:03 +00:00
  • 1de3e99bc5 Added --copy-dest logic. Wayne Davison 2005-03-11 17:35:59 +00:00
  • 3e13004b6b Tweaked the comment on copy_file(). Wayne Davison 2005-03-11 17:35:57 +00:00
  • 2f03ce67d6 Document --copy-dest. Wayne Davison 2005-03-11 17:35:54 +00:00
  • b9232d45eb - Fixed the reading of the fuzzy xname from the socket. - Call read_item_attrs() with its new arg. Wayne Davison 2005-03-10 00:06:01 +00:00
  • 6087ef2a84 - Changed read_item_attrs() to return the length of the xname string. - Tweaked the order of the args to write_item_attrs(). Wayne Davison 2005-03-10 00:05:58 +00:00
  • 1f1d368ad5 - 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 2005-03-09 23:46:28 +00:00
  • dd18526e5b Mention the latest protocol-29 changes. Wayne Davison 2005-03-09 18:55:09 +00:00
  • 4d53c4dd46 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 2005-03-09 18:54:19 +00:00
  • 9e4a8d29b5 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 2005-03-09 18:54:16 +00:00
  • ef20efcbb6 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 2005-03-09 18:54:12 +00:00
  • c70e07d9ac Got rid of the name-pipe from the generator to the receiver. Wayne Davison 2005-03-09 18:54:09 +00:00
  • b7d4d28bb3 When itemizing, we now set ITEM_LOCAL_CHANGE and ITEM_XNAME_FOLLOWS. Wayne Davison 2005-03-09 18:54:06 +00:00
  • 9a6ed83f2c - 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 2005-03-09 18:54:02 +00:00
  • fd84673e54 Handle the new way that 'c' and 'h' get output by "%i". Wayne Davison 2005-03-09 18:53:58 +00:00
  • 57b12568e6 Complain if a feature that requires protocol 29 doesn't get it. Wayne Davison 2005-03-09 18:53:55 +00:00
  • f9a9f54720 Made the dest_option string non-static. Wayne Davison 2005-03-09 18:53:53 +00:00
  • 3019a9bafd Changed some of the ITEM_* defines. Wayne Davison 2005-03-09 18:53:49 +00:00
  • 278e3d4f6e Mention the latest bug-fix. Wayne Davison 2005-03-09 04:00:45 +00:00
  • 9b9dd06894 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 2005-03-09 04:00:20 +00:00
  • 1f7e29b99c Fixed the change-report output for a directory that has no write permissions. Wayne Davison 2005-03-09 03:49:07 +00:00
  • c2f0e6e5e3 Backward compatibility fix in read_iflags() (for protocols < 29). Wayne Davison 2005-03-09 02:25:34 +00:00
  • c2b11ba017 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 2005-03-06 23:37:42 +00:00
  • f75a53e71b - 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 2005-03-05 18:58:42 +00:00
  • 054abde25f Handle new IOERR_DEL_LIMIT bit in io_error. Wayne Davison 2005-03-05 18:58:38 +00:00
  • 24cecf1365 Define the message for RERR_DEL_LIMIT. Wayne Davison 2005-03-05 18:58:35 +00:00
  • 821ff7f49a Added RERR_DEL_LIMIT. Wayne Davison 2005-03-05 18:58:32 +00:00
  • ff3d3c32d5 Added IOERR_DEL_LIMIT. Wayne Davison 2005-03-05 18:58:29 +00:00
  • 3b2ef5b11c Mention that --max-delete must be non-zero. Wayne Davison 2005-03-05 18:58:26 +00:00
  • 0394e34a69 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 2005-03-05 17:51:23 +00:00
  • 56efa56474 Fixed the elapsed time reported for 0-length files. Wayne Davison 2005-03-05 17:49:46 +00:00
  • ed7e79553e 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 2005-03-05 16:42:52 +00:00
  • dec71e94f3 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 2005-03-05 04:34:06 +00:00
  • ac4f91a5ee 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 2005-03-05 04:34:04 +00:00
  • e957626347 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 2005-03-05 04:34:01 +00:00
  • b4875de45c Improved the description of when "h" is output by %i. Wayne Davison 2005-03-05 00:34:02 +00:00
  • 2cfe44eee4 Turned on -i for itemized output. Wayne Davison 2005-03-05 00:23:55 +00:00
  • fad3dc421c - Updated to handle the new ITEM_* flags. - Changed read_iflags() to read/write a suffixed hard-link name. Wayne Davison 2005-03-05 00:21:59 +00:00
  • 22907b6bd9 - Updated to handle the new ITEM_* flags. - Send MSG_SUCCESS for hard-linked files when -H was specified. Wayne Davison 2005-03-05 00:21:56 +00:00
  • 3485ae8321 A few minor tweaks to improve two error messages and make better use of the "the_file_list" global. Wayne Davison 2005-03-05 00:21:54 +00:00
  • ca62acc3ca - 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 2005-03-05 00:21:50 +00:00
  • cdf236aaf5 - 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 2005-03-05 00:21:48 +00:00
  • 9f2e3c3f52 - 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 2005-03-05 00:21:44 +00:00
  • ee1d11c495 - 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 2005-03-05 00:21:42 +00:00
  • 669e76717c - 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 2005-03-05 00:21:39 +00:00
  • 4e107712f3 Mention latest bug fixes. Wayne Davison 2005-03-05 00:20:37 +00:00
  • 85aa57a7dd In read_iflags(), we need to set buf to an empty string. Wayne Davison 2005-03-04 18:01:16 +00:00
  • 58a14ed950 Got rid of some code in the main recv_files() loop by calling the new functions read_iflags() and maybe_log_item(). Wayne Davison 2005-03-04 16:54:08 +00:00
  • 165e6d446c 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 2005-03-04 16:53:26 +00:00
  • 1c3e3679ef Added maybe_log_item() for use by the sender and receiver. Wayne Davison 2005-03-04 16:52:00 +00:00
  • 8a513e55b0 Document the new value of %L. Wayne Davison 2005-03-04 16:11:09 +00:00
  • a314f7c155 Document latest format of %i. Wayne Davison 2005-03-04 16:08:58 +00:00
  • 9497b0d4e9 Call log_item() instead of log_recv(). Wayne Davison 2005-03-04 16:08:16 +00:00
  • b694f8a245 Call log_item() instead of log_send(). Wayne Davison 2005-03-04 16:08:02 +00:00
  • afc65a5acf - 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 2005-03-04 16:07:50 +00:00
  • 5f40615cd5 Use the new "the_file_list" global instead of our "the_flist" local. Wayne Davison 2005-03-04 15:57:14 +00:00
  • c6816b9444 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 2005-03-04 15:50:22 +00:00
  • 46e99b09b9 Added read_vstring() and write_vstring() to io.c instead of having this code in generator.c and receiver.c. Wayne Davison 2005-03-04 15:38:58 +00:00
  • af436313a0 - 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 2005-03-04 08:58:27 +00:00
  • d64e6f42b4 Use the new "the_file_list" global. Wayne Davison 2005-03-03 18:44:42 +00:00
  • a00628b335 - 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 2005-03-03 18:44:06 +00:00
  • 33ab4ad879 Simplified whole_file variable checking. Wayne Davison 2005-03-03 02:58:48 +00:00
  • 99eb41b25f Improved some text in --compare-dest and --link-dest. Wayne Davison 2005-03-03 02:23:12 +00:00
  • e86ae6bc1f Don't kluge the value of statret for --whole-file. Wayne Davison 2005-03-03 01:50:43 +00:00
  • c3cbcfb8ef 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 2005-03-03 01:33:51 +00:00
  • a1d23b5314 - 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 2005-03-03 00:14:35 +00:00
  • d4d4890d4e Added ITEM_NO_DEST_AND_NO_UPDATE for use by the generator's itemize() function. Wayne Davison 2005-03-03 00:14:32 +00:00
  • 30e66e53de Fixed the --compare-dest docs. Wayne Davison 2005-03-02 18:01:23 +00:00
  • e224331729 When using multiple --compare-dest options, rsync should avoid copying a file that has an exact match in any of the dirs. Wayne Davison 2005-03-02 17:48:36 +00:00
  • 70b54e4e43 Fixed a bug in the --dry-run output when using --link-dest. Wayne Davison 2005-03-02 17:27:19 +00:00
  • 9ba463435b If the multi-dest loop falls back to the best_match index, we need to re-stat() the file to restore "st". Wayne Davison 2005-03-02 09:51:54 +00:00
  • 05ee48661c Tweaked the description for --rsync-path. Wayne Davison 2005-03-02 09:17:42 +00:00
  • aef9882581 A little more tweaking to the multi-dest option loop. Wayne Davison 2005-03-02 09:09:15 +00:00
  • 78bcddcc6a Mention that specifying "/dir/**" is a safer way than "/dir/" alone to ensure that files inside a dir are fully protected. Wayne Davison 2005-03-02 01:48:25 +00:00
  • 68e169ab4d Improved the description of --rsync-path. Wayne Davison 2005-03-01 23:02:23 +00:00
  • f62eaa24f1 Made the multi-FOO-dest loop a little nicer. Wayne Davison 2005-03-01 19:42:31 +00:00
  • d3e553b4bd Explicitly mention that "del." does include the trailing period. Wayne Davison 2005-03-01 19:17:27 +00:00