Commit Graph

  • 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
  • 7c8e23bd9f Added MATCHFLG_NEGATE. Wayne Davison 2005-02-03 03:36:55 +00:00
  • 0752721dc3 Mention the latest delete optimization. Wayne Davison 2005-02-03 02:01:22 +00:00
  • 68a94ac30f Changed delete_files() to use the delete_in_dir() function, which saves a ton of memory for a large set of files. Wayne Davison 2005-02-03 02:01:20 +00:00
  • ee3751c8d7 - We now separate the user-specified top-dir flag (via the restored FLAG_TOP_DIR) from the del-in-this-directory flag (FLAG_DEL_HERE). This was needed to properly handle -x in delete_in_dir(). - The delete_in_dir() function takes a slightly changed set of args. - Always set the FLAG_DEL_HERE flags, not just for --delete-during. Wayne Davison 2005-02-03 02:01:17 +00:00
  • ec33e0e6bd - Changed {XMIT,FLAG}_DEL_START back to {XMIT,FLAG}_TOP_DIR. - Define FLAG_DEL_HERE. Wayne Davison 2005-02-03 02:01:14 +00:00
  • 31937d363b Call delete_in_dir() with its new args. Wayne Davison 2005-02-03 02:01:11 +00:00
  • 8982a89b24 In hlink_compare(), call f_name_cmp() directly instead of using file_compare(). Wayne Davison 2005-02-03 01:19:03 +00:00
  • 0492fdfb2e - Improved some comments. - Changed the index passed to recv_generator() from "i" to "ndx". - Call delete_in_dir() with its new args. - During the redo phase, clear a bunch of options that might interfere with the generator deciding it needs to redo the file (for instance, --update-only could have interfered if --partial was specified). Wayne Davison 2005-02-03 01:19:01 +00:00
  • 14698a3a1a - Moved an optimization from file_compare() into f_name_cmp() (the one that avoids doing a string-compare on two identical char pointers), making it just a wrapper for f_name_cmp(). Also made file_compare() static because everyone now calls f_name_cmp() directly. - Improved the flist summary that is output at high verbosity. - Improved delete_in_dir() to better handle the push/pop semantics based on the depth value that is now passed in as an arg (so that we don't have to parse it out of the paths each time). Wayne Davison 2005-02-03 01:18:58 +00:00
  • 8c2ffaf095 - If recv_files() is sent the index of a directory, complain about it and die. - Moved a few code snippets in recv_files() into better locations. Wayne Davison 2005-02-03 00:19:40 +00:00
  • afd72c78bd If the generator sends us the index of a directory, generate an error and die. Wayne Davison 2005-02-02 17:15:22 +00:00
  • 6bf822649b - Fixed a problem with the setting of the --recurse option from the batch file. - Save the state of the --dirs option in the batch flags in a way that is compatible with older protocol versions. Wayne Davison 2005-02-02 09:40:45 +00:00
  • 67dde16163 In read_sum_head: output the who_am_i() info in our error messages. Wayne Davison 2005-02-01 16:42:01 +00:00
  • f1d5ba4005 Set am_sender to -1 until the end of the option parsing. This lets who_am_i() output better values for the command-line --filter/--include/--exclude options. Wayne Davison 2005-02-01 09:46:42 +00:00
  • 794b0a037f Changed who_am_i() to output "server" or "client" when am_sender is negative. This will only occur during the startup phase before we know if we're the sender or not (e.g. when parsing client-side --filter/--exclude/--include options). Wayne Davison 2005-02-01 09:45:09 +00:00
  • c32edbe02e Make sure the %f expansion handles the new dir.root properly. Wayne Davison 2005-02-01 09:23:59 +00:00
  • f3c3ed44e6 - Made flist_find() and receive_file_entry() static functions. - Changed receive_file_entry() args. - We now store the directory depth into file->dir.depth when receiving the file list. This will be used to aid in the traversal of the file list on the receiving side for things such as the future --fuzzy option and better --delete-during processing. - Fixed a bug when -R was used with "." as a source directory: subdirectories were not being promoted to FLAG_DEL_START when --delete-during was specified. - Refer to the old basedir variable as dir.root. - Got rid of the first-push code -- I decided that it wasn't the right thing to do for per-dir merge-file processing. - Improved the flist_find() function to make it a little more optimal. The new code no longer needs the inline function flist_up(). - In clean_flist() we now set two new values in the flist struct: "low" and "high". These are used by the new flist_find(). - Tweaked the output_flist() function to output each entry's flags and to output the directory-depth on the receiving side in place of the directory-root (which is still output on the sending side). Wayne Davison 2005-02-01 09:21:32 +00:00
  • f805730493 - Put "basedir" into a union "dir" and named it "root". The other member of the union is "depth". - Added members "low" and "high" to the file list structure (which are set when the list is cleaned). - Got rid of the flist_up() inline function. Wayne Davison 2005-02-01 09:21:30 +00:00
  • 2b1366635d Refer to the old basedir variable as dir.root. Wayne Davison 2005-02-01 09:21:28 +00:00
  • 42f23f479d Fixed a typo in a variable name. Wayne Davison 2005-02-01 08:12:00 +00:00
  • 62bf783f06 Changed the "s" modifier to "w" for word-splitting tokens from a merge filter file. Also sprinkled some bf(...) macros into that section. Wayne Davison 2005-01-31 23:57:35 +00:00
  • 0b2901b72d Changed the "s" modifier to "w" for a word-splitting merge file. Wayne Davison 2005-01-31 23:51:54 +00:00
  • faa82484a5 - Mark references to command-line switches with the bf(...) macro. - Changed some verb(...) macros to use other yodl idioms because yodl inserts way too much vertical whitespace surrounding the item. - Some items weren't indenting enough in the manpage, though they were indenting fine in the HTML version, so used some creative idioms to get things to render well in both. - Got rid of some empty lines in lists. - Made several quote(...) items also tt(...). Wayne Davison 2005-01-31 23:41:08 +00:00
  • 4ccfd96cfe Tweaked one or more warning messages. Wayne Davison 2005-01-31 19:13:19 +00:00
  • 408aa7b24c Improved the exclude tests to make sure that the filter files are interacting with --delete-during correctly. Wayne Davison 2005-01-31 18:09:23 +00:00
  • 776b9d1c00 Added "need_first_push" logic to delete_in_dir(). Wayne Davison 2005-01-30 20:24:11 +00:00
  • c93fad5ee0 The --delete-during processing only happens during the first phase (not the redo phase). We also call delete_in_dir(NULL, NULL) to make sure that all the local filter files get popped. Wayne Davison 2005-01-30 10:06:18 +00:00
  • 19b2a5d9fd delete_in_dir() now mananges the push/pop levels of nested directories properly. Wayne Davison 2005-01-30 10:01:21 +00:00
  • f1773e09ab - Now delete_in_dir() calls send_directory(), not send_file_name(). - Moved the local-list push/pop code out of send_directory() so that the callers (send_file_name() and delete_in_dir()) can call the push/pop functions themselves. This is in preparation for delete_in_dir() getting fully correct push/pop semantics (for its --delete-during handling of per-dir filter files). Wayne Davison 2005-01-30 09:12:55 +00:00
  • 462c51d9a1 - Restored the io_error test to delete_files(). - Sanity check the dir_list value from send_file_list(). Wayne Davison 2005-01-30 07:35:13 +00:00
  • 2430e98412 - Made delete_files() call send_file_list() and delete_missing() instead of delete_in_dir(). - Tweaked check in front of delete_files() call. Wayne Davison 2005-01-29 22:35:53 +00:00
  • 78fc60cd29 If --recurse wasn't specified, turn off all the --delete* options. Wayne Davison 2005-01-29 22:35:50 +00:00
  • 864146de58 Tweaked check in front of delete_files() call. Wayne Davison 2005-01-29 22:35:47 +00:00
  • 45478cc79b - Improved the handling of -x with -K. - Changed delete_in_dir() to only be used by the --delete-during option. - Added delete_missing() that is used by both delete_files() and delete_in_dir(). - delete_files() still uses send_file_list(), but delete_in_dir() now uses send_file_name(). Wayne Davison 2005-01-29 22:35:44 +00:00
  • 5454d22ad8 The --dirs was sending -k instead of -d. Wayne Davison 2005-01-29 21:25:44 +00:00
  • dc1488ae47 - Document the new "/" modifier for -/+. - "=" is no longer a valid separator for a filter rule. Wayne Davison 2005-01-29 20:48:27 +00:00
  • 0121a8ecad Renamed XFLG_ABS_PATH XFLG_ANCHORED2ABS. Wayne Davison 2005-01-29 20:48:23 +00:00
  • 7bc90b3066 Moved the module_id define into clientserver.c. Wayne Davison 2005-01-29 20:48:20 +00:00
  • bf39270e0c - Renamed make_filter() to filter_rule(). - Added the "/" modifier to the -/+ filter rules to allow the rule to specify an absolute path (sets MATCHFLG_ABS_PATH). - Added the passing of the xflgags to filter_rule() and key off XFLG_ANCHORED2ABS to prepend the current dirbuf value (was keing off MATCHFLG_ABS_PATH). - We no longer allow a '=' to separate the filter rule from its arg (just a single space or an underscore). - For triple verbose levels, mention when we look for a filter file even if we don't find it (used to only mention the file when it was found). - A chrooted daemon process now includes /.cvsignore (inside the chrooted hierarchy) instead of $HOME/.cvsignore. Wayne Davison 2005-01-29 20:48:17 +00:00
  • 211bc43b6e - Moved the module_id definition from options.c to here. - Use the new XFLG_ANCHORED2ABS name for the old XFLG_ABS_PATH define. Wayne Davison 2005-01-29 20:48:14 +00:00
  • 91c5833bd0 Change one call to add_cvs_excludes() to add_filter() to just add the per-dir .cvsignore rule for protocols < 29. Wayne Davison 2005-01-29 20:29:06 +00:00
  • 8311f1c11e A minor change to the HAVE_GETPGRP code. Wayne Davison 2005-01-28 23:00:58 +00:00
  • ae2836325f Fixed some typos. Wayne Davison 2005-01-28 22:01:02 +00:00
  • a897af2cde Mention a few more things. Wayne Davison 2005-01-28 21:48:32 +00:00
  • cc80022e84 Pass an unsigned character to isdigit(). Wayne Davison 2005-01-28 21:32:20 +00:00
  • 5a016db9b6 Don't allow the user to specify a filter file that is excluded by a daemon's config options. Wayne Davison 2005-01-28 21:28:08 +00:00
  • 92e1aeede7 Got rid of an unreachable free() call. Wayne Davison 2005-01-28 21:07:05 +00:00
  • f846a9bfe9 Cast each value referenced from the struct mallinfo to a long in order to print it. Wayne Davison 2005-01-28 21:05:50 +00:00
  • 3db859e8b5 Don't set unsigned del_heir_name_len to -1 -- it's only used if in_del_hier is non-zero, so it doesn't need to take on an invalid value. Wayne Davison 2005-01-28 21:03:50 +00:00
  • 0eeb1cf83a Case uchar pointer to a char pointer when calling strlen(). Wayne Davison 2005-01-28 21:02:15 +00:00
  • 5f238db203 - Use "uchar" instead of "unsigned char". - Tweaked an initializer to try to avoid a compiler warning. Wayne Davison 2005-01-28 21:01:21 +00:00
  • 422696201a Call the right stat function based on USE_STAT64_FUNCS. Wayne Davison 2005-01-28 20:43:09 +00:00
  • 58fef0ac38 Changed direct call to fstat() into a call to do_fstat(). Wayne Davison 2005-01-28 20:41:36 +00:00
  • 25e1181466 Use new USE_STAT64_FUNCS define. Wayne Davison 2005-01-28 20:33:55 +00:00
  • 5b5f7e3b59 - Use off_t if SIZEOF_OFF_T is 8. - Define USE_STAT64_FUNCS if we defined STRUCT_STAT as "struct stat64". Wayne Davison 2005-01-28 20:32:47 +00:00
  • dc3afaf6aa Changed "char" to "uchar" in delayed_bits's new_array() call. Wayne Davison 2005-01-28 20:24:23 +00:00
  • 1164f67827 Make use of new HAVE_STRUCT_STAT64 define. Wayne Davison 2005-01-28 20:15:08 +00:00
  • c83a2c8ec5 Added a check for "struct stat64". Wayne Davison 2005-01-28 20:15:06 +00:00
  • 43d0f38b24 Do a better job defining an int32. Also define SIZEOF_INT32 instead of the (unused) LARGE_INT32 variable. Wayne Davison 2005-01-28 19:03:16 +00:00
  • e95538ca2c - Changed the main core of system include files to use the same "#if" idioms that configure uses. - Use "#if" (not "#ifdef") for configure-defined macros. - Use "#if !" (not "#ifndef") for configure-defined macros. Wayne Davison 2005-01-28 18:50:54 +00:00
  • 25ff04417e Use "#if" (not "#ifdef") for configure-defined macros. Wayne Davison 2005-01-28 18:50:49 +00:00
  • 63ecee4d1a Made log_open() static and made it die with an error if the log-file can't be opened. Wayne Davison 2005-01-28 17:42:21 +00:00
  • 4c8f6b6a06 No need to call log_open() in start_accept_loop() because rsync_module() calls log_init() before it gives up its privileges. Wayne Davison 2005-01-28 17:33:57 +00:00