Commit Graph

  • 69864a5ccf Made showchg() use safe_fname(). Wayne Davison 2005-02-15 20:41:37 +00:00
  • 5b4e1f318d - Mention the addition of --itemize-changes. - Mention the setting of read_only when a daemon is read-only. Wayne Davison 2005-02-15 19:47:57 +00:00
  • b78296cb0b Decided on a better option name --itemize-changes (-i). Wayne Davison 2005-02-15 07:41:13 +00:00
  • 06a1dbad61 Implemented the --what-has-changed functionality. Wayne Davison 2005-02-15 07:20:14 +00:00
  • 93c31c1a6d Don't force -v with -n if -w was specified. Wayne Davison 2005-02-15 07:20:11 +00:00
  • a8ed495833 If -w and -v are both on, don't output the "log the transfer" verbose message. Wayne Davison 2005-02-15 07:20:04 +00:00
  • 4a14ed068c Added --what-has-changed (-w), which summaries the changes being made to the files. Wayne Davison 2005-02-15 07:20:01 +00:00
  • dc0f24976d Document --what-has-changed (-w). Wayne Davison 2005-02-15 07:19:58 +00:00
  • 1e7098b5e3 Fixed a typo. Wayne Davison 2005-02-15 03:38:04 +00:00
  • 2f24fb18c4 Make sure that there are no directory-time differences between the dirs that might trip up the check of the merged copy. Wayne Davison 2005-02-15 02:01:02 +00:00
  • 96a8ca6d98 Had a report that the __attribute__ code needs to check for __APPLE__ being defined, not APPLE. Wayne Davison 2005-02-14 22:49:51 +00:00
  • 37a5644576 One arg to matched() is supposed to be an int32. Wayne Davison 2005-02-14 22:48:28 +00:00
  • a1cbe76e2c Changed one size_t var into an int32. Wayne Davison 2005-02-14 22:47:42 +00:00
  • 98bf61c80e Improved description of --whole-file option. Wayne Davison 2005-02-14 19:09:30 +00:00
  • 01f439ec6e Fixed a mismatch in the compressed-data handling between how the sending side and the receiving side handled implicit (unsent) data. Wayne Davison 2005-02-14 08:28:00 +00:00
  • acc461c7da Changed various token variables from "int"s to "int32"s. Wayne Davison 2005-02-14 08:19:32 +00:00
  • 1585958497 The count of chunks should really be an int32, not a size_t, because that's the maximum size we can transmit over the wire. Wayne Davison 2005-02-14 08:13:47 +00:00
  • 7cacd47edd Changed the size_t variables into int32 variables. Wayne Davison 2005-02-14 08:12:22 +00:00
  • e461b9bed4 Don't let --fuzzy be used with a protocol_version < 29. Wayne Davison 2005-02-14 02:47:44 +00:00
  • 3723c04850 Mention --fuzzy. Wayne Davison 2005-02-14 02:41:35 +00:00
  • 73273075c8 Added code to read a fuzzy-basis name from the generator. Wayne Davison 2005-02-14 02:41:30 +00:00
  • 8e85be0a16 Added handling for fuzzy-basis scanning. When a fuzzy filename is chosen, the name is sent down the name-pipe to the receiver. Wayne Davison 2005-02-14 02:41:27 +00:00
  • 37802f40dc - If send_file_name() gets f set to -2, it skips the local filter rules. - Added get_dirlist(), which returns a file_list structure for the desired directory, optionally with local filter rules disabled. Wayne Davison 2005-02-14 02:41:23 +00:00
  • 06b96ffa86 Set need_name_pipe if --fuzzy was specified. Wayne Davison 2005-02-14 02:41:18 +00:00
  • c4ed1487f9 Added parsing for the --fuzzy (-y) option. Wayne Davison 2005-02-14 02:41:15 +00:00
  • e64ae6d766 Added find_filename_suffix() and fuzzy_distance(). Wayne Davison 2005-02-14 02:41:10 +00:00
  • 5b4837552b Document the --fuzzy (-y) option. Wayne Davison 2005-02-14 02:41:05 +00:00
  • d2004814f0 Changed #if to use "defined". Wayne Davison 2005-02-14 02:34:01 +00:00
  • bf0c5bec45 If f_name_cmp() discovers that two directory strings compare to an equal value without being equal pointers, substitute one of the pointers for the other in the file list. This optimizes future name comparisons. Note also that this optimization won't be triggered very often (because rsync tends to send the names grouped by dir- name at transmission time), but it's nice to be able to assume that all files in the same dir have identical dir-name pointers after the qsort is finished. Wayne Davison 2005-02-14 01:29:17 +00:00
  • 0dd046d36f Don't check defined-ness of SIZEOF_OFF64_T. Wayne Davison 2005-02-14 00:58:10 +00:00
  • 4f5b0756df John E. Malmberg convinced me to standardize on #ifs for defined values instead of non-zero. Wayne Davison 2005-02-14 00:53:43 +00:00
  • fe1c19dcdf In clean_flist(), if a duplicate is found for a dir and a non-dir, always dump the non-dir (because the dir might have contents in the list). Wayne Davison 2005-02-13 22:48:38 +00:00
  • 24b2096e86 The dir vs non-dir test now assumes the dir wins. Wayne Davison 2005-02-13 22:48:35 +00:00
  • 86e97e178d Mention the new sorting method for protocol 29. Wayne Davison 2005-02-13 22:37:29 +00:00
  • 905d906d69 Added a test for the merging of a dir and a non-dir with the same name. Wayne Davison 2005-02-13 22:01:15 +00:00
  • abce74bb93 Added some missing commas in some option summary lines. Wayne Davison 2005-02-13 21:50:55 +00:00
  • f5db099330 - Made receive_file_entry() return the file_struct pointer instead of storing it into the files[] array. - Made flist_find() return "no match" if the found item differs in its directory-ness from the search item. - Changed f_name_cmp() to sort sub-directories after non-directories for each directory's contents. This makes things like the upcoming --fuzzy patch easier to get right. - One complicating factor is that clean_flist() needed some extra code to ensure that a directory doesn't duplicate a non-directory of the same name. - Make sure that the "strip_root" code in clean_flist() (for relative paths) strips off all leading slashes. Wayne Davison 2005-02-13 21:15:47 +00:00
  • 122d1771db Improved the call to f_name_cmp(). Wayne Davison 2005-02-13 20:06:18 +00:00
  • 8824e2cee4 Changed the prefix on the fnc_state enums. Wayne Davison 2005-02-13 10:23:56 +00:00
  • 8a6f3fead8 Improved the summary for the -F option. Wayne Davison 2005-02-13 05:45:42 +00:00
  • 9c71f56a25 Improved the help text for -F. Wayne Davison 2005-02-13 05:44:29 +00:00
  • f924946eba Improved the description of the --compress (-z) option. Wayne Davison 2005-02-12 22:22:14 +00:00
  • 32a5edf43f Improved the documentation of the --compress (-z) option. Wayne Davison 2005-02-12 22:21:45 +00:00
  • 9a338344da Forgot to make sure that the dir-times on the chkdir got synced in the newest test case. Wayne Davison 2005-02-12 21:22:21 +00:00
  • df337831dc When --dry-run is set, note when a directory is missing and avoid trying to stat() any items inside that dir's hierarchy. This fixes a bug where a symlink to a dir getting replaced by a dir with identical contents to the dir at the other end of the symlink would not report the updated files in the new hierarchy. (See bug #1673) Wayne Davison 2005-02-12 21:18:58 +00:00
  • bb558f6791 Some more improvements to exercise rule-restricted merge files (i.e. exclude patterns only) and side-restricted filter rules. Wayne Davison 2005-02-12 20:45:39 +00:00
  • 22558cdd7e Improved checkit() and rsync_ls_lR() to work with filenames that might have spaces. Wayne Davison 2005-02-12 20:25:12 +00:00
  • 28c54e81c1 Mention the protocol change for --delete-excluded. Wayne Davison 2005-02-12 19:52:40 +00:00
  • 0dfffb88e1 Document the new filter rule flags for sender-/receiver-specific rules. Wayne Davison 2005-02-12 19:52:34 +00:00
  • ed243f8c29 - Added modifiers for the include/exclude rules that makes them apply to the indicated (sender/receiver) side. - Added the hide/show and protect/risk filter rules as an alternate way to specify sender-/receiver-specific include/exclude rules. - send_rules() now allows f_out to be -1 to indicate that the list should be scanned but not sent. - send_rules() now filters the list to remove any items that don't apply to the current side (after sending the item to the other side when f_out != -1). - {send,recv}_filter_list() now transfer the list, even when the receiver is the server and --delete-excluded was specified (the exchanged list is appropriately filtered, of course). - recv_filter_list() uses send_rules() to trim non-applicable rules when we're a local-server (because we got our filter list without send/recv calls when fork() duplicated it). Wayne Davison 2005-02-12 19:52:26 +00:00
  • a427e8938a - Define MATCHFLG_SENDER_SIDE and MATCHFLG_RECEIVER_SIDE. - Updated MATCHFLGS_FROM_CONTAINER. Wayne Davison 2005-02-12 19:52:22 +00:00
  • cc25d29132 We don't need to avoid the local filter list in send_file_name() when --delete-excluded is set because our list has been trimmed to only include rules that apply in the current mode. Wayne Davison 2005-02-12 19:52:18 +00:00
  • 134f43385b - Since send_file_list() is no longer called with f == -1, got rid of all the conditional code to support that. - Improved the comment before send_directory() to indicate that it gets called with f == -1 from delete_in_dir(). Wayne Davison 2005-02-12 18:40:15 +00:00
  • a5a264842e Don't use underscores in the example filter rules. Wayne Davison 2005-02-11 23:16:41 +00:00
  • eed47b6b9c Made "i" a size_t in receive_sums(). Wayne Davison 2005-02-11 20:46:55 +00:00
  • 3841a04e88 A minor tweak for the dry_run logic. Wayne Davison 2005-02-11 20:26:08 +00:00
  • 9eef8f0b73 Improved the "refuse options" section, including an update to the section that talked about --del being a popt alias (which is no longer true). Wayne Davison 2005-02-11 10:52:50 +00:00
  • c258230722 - Several improvements in describing how options imply other options. - Improved --partial-dir. Wayne Davison 2005-02-11 10:51:25 +00:00
  • 345e0988cb Changed rule_match() to rule_strcmp(). Likewise for the define RULE_MATCH() being changed into RULE_STRCMP(). Wayne Davison 2005-02-11 10:47:43 +00:00
  • 3671987f4d - Added some new refused_* variables that note if certain options have been refused on the server daemon. This allows us to reject implied options (e.g. if --partial is refused and -P specified). - Changed the handling of the --delete refusals from the old idiom of upgrading "delete" to "delete*" into the new idiom of checking if refused_delete is set when we determine --delete was implied. - Changed the --del option from a popt alias into a normal option. - Mark all the daemon options as refused when a daemon is parsing the over-the-socket options. - Created a new function, create_refuse_error(), which is now called from all the spots that check for refused options. - Don't call clean_fname() on an empty string -- either reject it or handle it without erroneously expanding the string. - If --delay-updates was specified without a --partial-dir option, don't send the default "--partial-dir=.~tmp~" option if the server is the receiver -- just let it default. Wayne Davison 2005-02-11 10:42:55 +00:00
  • 5aa7b20a3e Have partial_dir_fname() also check if the dir is excluded by the server, not just the partial file. Wayne Davison 2005-02-11 09:58:31 +00:00
  • 68795c640b If a --delay-update can't use the partial-dir (e.g. if a server daemon excludes the dir or file), update the file without delay. Wayne Davison 2005-02-11 09:56:28 +00:00
  • 4f1f94d1de Improved the --modify-window description. Wayne Davison 2005-02-09 17:08:23 +00:00
  • 0f7e31f7d7 Improved several items and added a new section describing what is different for protocol version 29. Wayne Davison 2005-02-09 04:45:36 +00:00
  • 2f3cad893b - Decided that flist_find() should be public, not static. - Modified f_name_cmp() so that, beginning with protocol 29, it will guarantee that a directory name will sort one slot before its contents (prior versions could sort other items in between in rare instances). Wayne Davison 2005-02-09 02:36:17 +00:00
  • e79666267d Also test the new long-named filter rules. Wayne Davison 2005-02-08 19:30:07 +00:00
  • d91de04671 Mention the new long-name filter rules. Wayne Davison 2005-02-08 19:06:30 +00:00
  • 64b761c19a Allow a ',' to prefix the MODIFIERS for a single-letter filter rule. Wayne Davison 2005-02-08 18:47:25 +00:00
  • a1ac8edd66 - Added long-name filter rules. - Only parse the "!" token when MATCHFLG_NO_PREFIXES is set if MATCHFLG_CVS_IGNORE is also set. Wayne Davison 2005-02-08 18:33:16 +00:00
  • 1dca857b5b Fixed a typo. Wayne Davison 2005-02-07 20:46:42 +00:00
  • f8cd88dbd1 - Added more calls to safe_fname(). - Improved safe_fname() so that it changes all non-printable chars into '?'s, and accomodates more simultaneous (and longer) names. Wayne Davison 2005-02-07 20:41:43 +00:00
  • 71903f601a Added missing calls to safe_fname() and full_fname(). Wayne Davison 2005-02-07 20:40:18 +00:00
  • 719bc858b5 Made NS define make use of safe_fname(). Wayne Davison 2005-02-07 20:39:13 +00:00
  • a6126d678b Added missing call to safe_fname(). Wayne Davison 2005-02-07 20:38:56 +00:00
  • 4875d6b64d Adding more calls to safe_fname(). Wayne Davison 2005-02-07 20:36:43 +00:00
  • 54b4059856 Needed to call safe_fname() when listing the remote names. Wayne Davison 2005-02-07 19:40:31 +00:00
  • 38059f8e8e One more tweak. Wayne Davison 2005-02-06 07:24:42 +00:00
  • bb5f4e7285 A few tweaks to the FILTER RULES section, including a mention of using the +/- modifiers on merge-file rules. Wayne Davison 2005-02-06 07:16:19 +00:00
  • 448797a1e6 Fixed an off-by-one error in the prefix-length checking in get_rule_prefix(). Wayne Davison 2005-02-05 06:53:20 +00:00
  • a261103ce0 Improved the name of a variable. Wayne Davison 2005-02-05 05:30:06 +00:00
  • 7b82b5adb3 Mention a couple more changes. Wayne Davison 2005-02-05 01:38:19 +00:00
  • 397a344364 Added the "C" modifier to the itemized list of +/- modifiers. Wayne Davison 2005-02-05 00:03:46 +00:00
  • bafa48759f Mention the new --filter=-C syntax that lets you position the default CVS rules within your other filter rules. Wayne Davison 2005-02-04 23:57:26 +00:00
  • 46db185081 - Moved get_cvs_excludes() up above its only use and made it static. - Changed get_cvs_excludes() to make an mflags arg. Wayne Davison 2005-02-04 22:32:17 +00:00
  • 1412da7c32 If we're a "local server" (i.e. we just forked a server for a local transfer), don't duplicate all the filter rules that we already know about in the forked process. Wayne Davison 2005-02-04 21:54:02 +00:00
  • d09e800a0e Fixed the way get_rule_prefix() turns the MATCHFLG_WORD_SPLIT flag back into a modifier character. Wayne Davison 2005-02-04 21:16:39 +00:00
  • 53b417e414 - Added MATCHFLG_CVS_IGNORE. - Made the match_flags var a uint32. Wayne Davison 2005-02-04 21:13:12 +00:00
  • 57dee64e82 - Moved the cvs_exclude checks into send_filter_list() and recv_filter_list(). Because of this, we never skip these calls anymore, though read-batch processing indicates that the list should not really be sent by setting f_out to -1. - Moved the definintion of the "local_server" variable here from options.c. Wayne Davison 2005-02-04 21:13:09 +00:00
  • fdc795015f - Changed filter_rule() to add_rule(). - Improved the debug info coming from add_rule(). - Changed add_filter() to parse_rule() and add_filter_file() to parse_filter_file(). - Changed get_filter_tok() to parse_rule_tok(). - Made the mflags a uint32. - Added an extra arg to get_rule_prefix() to indicate if we're building the options for transmission or other purposes. - The 'C' modifier can now be applied to a '-' rule, so it now sets a new flag: MATCHFLG_CVS_IGNORE. - The send_filter_list() and recv_filter_list() functions now handle all the logic needed to do the right thing for -C (this used to be in main.c). Wayne Davison 2005-02-04 21:13:06 +00:00
  • 3a5e9224d0 - Changed add_filter() to parse_rule() and add_filter_file() to parse_filter_file(). - Moved the definintion of the "local_server" variable into main.c. Wayne Davison 2005-02-04 21:13:03 +00:00
  • ebfd1a1cf7 Changed add_filter() to parse_rule() and add_filter_file() to parse_filter_file(). Wayne Davison 2005-02-04 21:13:00 +00:00
  • dd667c2301 Call get_rule_prefix() with its new arg. Wayne Davison 2005-02-04 21:12:56 +00:00
  • d727f0ff48 Fixed the MODIFIERS_MERGE_FILE define. Wayne Davison 2005-02-04 00:48:18 +00:00
  • eb9b2e53c8 Changed delete_missing() to not limit the use of DEL_FORCE_RECURSE to just --delete-during now that the other delete routines are using delete_in_dir(). Wayne Davison 2005-02-03 19:19:39 +00:00
  • b6f06b8e8b Added an mflags arg to get_filter_tok(), add_filter_file(), and add_filter(). This made for less flag conversion between various MATCHFLG_* and XFLG_* values. It also made it easy to fix a bug in the handling of no-prefix per-directory include/exclude files. We also use the new XFLG_OLD_PREFIXES and MATCHFLGS_FROM_CONTAINER defines. Wayne Davison 2005-02-03 19:00:20 +00:00
  • 0a68f869d7 Call add_filter() and add_filter_file() with their new flag args. Wayne Davison 2005-02-03 19:00:17 +00:00
  • 3b2461cf2e - Got rid of a bunch of XFLG_* options. - Added XFLG_OLD_PREFIXES and MATCHFLGS_FROM_CONTAINER defines. Wayne Davison 2005-02-03 19:00:13 +00:00
  • 346402ddbf Use the new negated exclude to filter out all non-dirs in a few of the rsync commands. Wayne Davison 2005-02-03 03:45:24 +00:00
  • 44d60d5f83 Document the new "!" modifier for include/exclude filter rules (to negate the match). Wayne Davison 2005-02-03 03:37:02 +00:00
  • f2ae9e8583 Implemented a "!" modifier for filter rules that lets a rule trigger on a non-matching pattern. Wayne Davison 2005-02-03 03:36:58 +00:00