rsync.git
19 years agoIn clean_flist(), if a duplicate is found for a dir and a non-dir,
Wayne Davison [Sun, 13 Feb 2005 22:48:38 +0000 (22:48 +0000)]
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).

19 years agoThe dir vs non-dir test now assumes the dir wins.
Wayne Davison [Sun, 13 Feb 2005 22:48:35 +0000 (22:48 +0000)]
The dir vs non-dir test now assumes the dir wins.

19 years agoMention the new sorting method for protocol 29.
Wayne Davison [Sun, 13 Feb 2005 22:37:29 +0000 (22:37 +0000)]
Mention the new sorting method for protocol 29.

19 years agoAdded a test for the merging of a dir and a non-dir with the same name.
Wayne Davison [Sun, 13 Feb 2005 22:01:15 +0000 (22:01 +0000)]
Added a test for the merging of a dir and a non-dir with the same name.

19 years agoAdded some missing commas in some option summary lines.
Wayne Davison [Sun, 13 Feb 2005 21:50:55 +0000 (21:50 +0000)]
Added some missing commas in some option summary lines.

19 years ago- Made receive_file_entry() return the file_struct pointer instead
Wayne Davison [Sun, 13 Feb 2005 21:15:47 +0000 (21:15 +0000)]
- 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.

19 years agoImproved the call to f_name_cmp().
Wayne Davison [Sun, 13 Feb 2005 20:06:18 +0000 (20:06 +0000)]
Improved the call to f_name_cmp().

19 years agoChanged the prefix on the fnc_state enums.
Wayne Davison [Sun, 13 Feb 2005 10:23:56 +0000 (10:23 +0000)]
Changed the prefix on the fnc_state enums.

19 years agoImproved the summary for the -F option.
Wayne Davison [Sun, 13 Feb 2005 05:45:42 +0000 (05:45 +0000)]
Improved the summary for the -F option.

19 years agoImproved the help text for -F.
Wayne Davison [Sun, 13 Feb 2005 05:44:29 +0000 (05:44 +0000)]
Improved the help text for -F.

19 years agoImproved the description of the --compress (-z) option.
Wayne Davison [Sat, 12 Feb 2005 22:22:14 +0000 (22:22 +0000)]
Improved the description of the --compress (-z) option.

19 years agoImproved the documentation of the --compress (-z) option.
Wayne Davison [Sat, 12 Feb 2005 22:21:45 +0000 (22:21 +0000)]
Improved the documentation of the --compress (-z) option.

19 years agoForgot to make sure that the dir-times on the chkdir got synced
Wayne Davison [Sat, 12 Feb 2005 21:22:21 +0000 (21:22 +0000)]
Forgot to make sure that the dir-times on the chkdir got synced
in the newest test case.

19 years agoWhen --dry-run is set, note when a directory is missing and avoid
Wayne Davison [Sat, 12 Feb 2005 21:18:58 +0000 (21:18 +0000)]
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)

19 years agoSome more improvements to exercise rule-restricted merge files
Wayne Davison [Sat, 12 Feb 2005 20:45:39 +0000 (20:45 +0000)]
Some more improvements to exercise rule-restricted merge files
(i.e. exclude patterns only) and side-restricted filter rules.

19 years agoImproved checkit() and rsync_ls_lR() to work with filenames that
Wayne Davison [Sat, 12 Feb 2005 20:25:12 +0000 (20:25 +0000)]
Improved checkit() and rsync_ls_lR() to work with filenames that
might have spaces.

19 years agoMention the protocol change for --delete-excluded.
Wayne Davison [Sat, 12 Feb 2005 19:52:40 +0000 (19:52 +0000)]
Mention the protocol change for --delete-excluded.

19 years agoDocument the new filter rule flags for sender-/receiver-specific
Wayne Davison [Sat, 12 Feb 2005 19:52:34 +0000 (19:52 +0000)]
Document the new filter rule flags for sender-/receiver-specific
rules.

19 years ago- Added modifiers for the include/exclude rules that makes them
Wayne Davison [Sat, 12 Feb 2005 19:52:26 +0000 (19:52 +0000)]
- 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).

19 years ago- Define MATCHFLG_SENDER_SIDE and MATCHFLG_RECEIVER_SIDE.
Wayne Davison [Sat, 12 Feb 2005 19:52:22 +0000 (19:52 +0000)]
- Define MATCHFLG_SENDER_SIDE and MATCHFLG_RECEIVER_SIDE.
- Updated MATCHFLGS_FROM_CONTAINER.

19 years agoWe don't need to avoid the local filter list in send_file_name()
Wayne Davison [Sat, 12 Feb 2005 19:52:18 +0000 (19:52 +0000)]
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.

19 years ago- Since send_file_list() is no longer called with f == -1, got rid
Wayne Davison [Sat, 12 Feb 2005 18:40:15 +0000 (18:40 +0000)]
- 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().

19 years agoDon't use underscores in the example filter rules.
Wayne Davison [Fri, 11 Feb 2005 23:16:41 +0000 (23:16 +0000)]
Don't use underscores in the example filter rules.

19 years agoMade "i" a size_t in receive_sums().
Wayne Davison [Fri, 11 Feb 2005 20:46:55 +0000 (20:46 +0000)]
Made "i" a size_t in receive_sums().

19 years agoA minor tweak for the dry_run logic.
Wayne Davison [Fri, 11 Feb 2005 20:26:08 +0000 (20:26 +0000)]
A minor tweak for the dry_run logic.

19 years agoImproved the "refuse options" section, including an update
Wayne Davison [Fri, 11 Feb 2005 10:52:50 +0000 (10:52 +0000)]
Improved the "refuse options" section, including an update
to the section that talked about --del being a popt alias
(which is no longer true).

19 years ago- Several improvements in describing how options imply other options.
Wayne Davison [Fri, 11 Feb 2005 10:51:25 +0000 (10:51 +0000)]
- Several improvements in describing how options imply other options.
- Improved --partial-dir.

19 years agoChanged rule_match() to rule_strcmp(). Likewise for the
Wayne Davison [Fri, 11 Feb 2005 10:47:43 +0000 (10:47 +0000)]
Changed rule_match() to rule_strcmp().  Likewise for the
define RULE_MATCH() being changed into RULE_STRCMP().

19 years ago- Added some new refused_* variables that note if certain options
Wayne Davison [Fri, 11 Feb 2005 10:42:55 +0000 (10:42 +0000)]
- 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.

19 years agoHave partial_dir_fname() also check if the dir is excluded
Wayne Davison [Fri, 11 Feb 2005 09:58:31 +0000 (09:58 +0000)]
Have partial_dir_fname() also check if the dir is excluded
by the server, not just the partial file.

19 years agoIf a --delay-update can't use the partial-dir (e.g. if a server
Wayne Davison [Fri, 11 Feb 2005 09:56:28 +0000 (09:56 +0000)]
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.

19 years agoImproved the --modify-window description.
Wayne Davison [Wed, 9 Feb 2005 17:08:23 +0000 (17:08 +0000)]
Improved the --modify-window description.

19 years agoImproved several items and added a new section describing what is
Wayne Davison [Wed, 9 Feb 2005 04:45:36 +0000 (04:45 +0000)]
Improved several items and added a new section describing what is
different for protocol version 29.

19 years ago- Decided that flist_find() should be public, not static.
Wayne Davison [Wed, 9 Feb 2005 02:36:17 +0000 (02:36 +0000)]
- 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).

19 years agoAlso test the new long-named filter rules.
Wayne Davison [Tue, 8 Feb 2005 19:30:07 +0000 (19:30 +0000)]
Also test the new long-named filter rules.

19 years agoMention the new long-name filter rules.
Wayne Davison [Tue, 8 Feb 2005 19:06:30 +0000 (19:06 +0000)]
Mention the new long-name filter rules.

19 years agoAllow a ',' to prefix the MODIFIERS for a single-letter filter rule.
Wayne Davison [Tue, 8 Feb 2005 18:47:25 +0000 (18:47 +0000)]
Allow a ',' to prefix the MODIFIERS for a single-letter filter rule.

19 years ago- Added long-name filter rules.
Wayne Davison [Tue, 8 Feb 2005 18:33:16 +0000 (18:33 +0000)]
- Added long-name filter rules.
- Only parse the "!" token when MATCHFLG_NO_PREFIXES is set if
  MATCHFLG_CVS_IGNORE is also set.

19 years agoFixed a typo.
Wayne Davison [Mon, 7 Feb 2005 20:46:42 +0000 (20:46 +0000)]
Fixed a typo.

19 years ago- Added more calls to safe_fname().
Wayne Davison [Mon, 7 Feb 2005 20:41:43 +0000 (20:41 +0000)]
- 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.

19 years agoAdded missing calls to safe_fname() and full_fname().
Wayne Davison [Mon, 7 Feb 2005 20:40:18 +0000 (20:40 +0000)]
Added missing calls to safe_fname() and full_fname().

19 years agoMade NS define make use of safe_fname().
Wayne Davison [Mon, 7 Feb 2005 20:39:13 +0000 (20:39 +0000)]
Made NS define make use of safe_fname().

19 years agoAdded missing call to safe_fname().
Wayne Davison [Mon, 7 Feb 2005 20:38:56 +0000 (20:38 +0000)]
Added missing call to safe_fname().

19 years agoAdding more calls to safe_fname().
Wayne Davison [Mon, 7 Feb 2005 20:36:43 +0000 (20:36 +0000)]
Adding more calls to safe_fname().

19 years agoNeeded to call safe_fname() when listing the remote names.
Wayne Davison [Mon, 7 Feb 2005 19:40:31 +0000 (19:40 +0000)]
Needed to call safe_fname() when listing the remote names.

19 years agoOne more tweak.
Wayne Davison [Sun, 6 Feb 2005 07:24:42 +0000 (07:24 +0000)]
One more tweak.

19 years agoA few tweaks to the FILTER RULES section, including a mention of
Wayne Davison [Sun, 6 Feb 2005 07:16:19 +0000 (07:16 +0000)]
A few tweaks to the FILTER RULES section, including a mention of
using the +/- modifiers on merge-file rules.

19 years agoFixed an off-by-one error in the prefix-length checking in
Wayne Davison [Sat, 5 Feb 2005 06:53:20 +0000 (06:53 +0000)]
Fixed an off-by-one error in the prefix-length checking in
get_rule_prefix().

19 years agoImproved the name of a variable.
Wayne Davison [Sat, 5 Feb 2005 05:30:06 +0000 (05:30 +0000)]
Improved the name of a variable.

19 years agoMention a couple more changes.
Wayne Davison [Sat, 5 Feb 2005 01:38:19 +0000 (01:38 +0000)]
Mention a couple more changes.

19 years agoAdded the "C" modifier to the itemized list of +/- modifiers.
Wayne Davison [Sat, 5 Feb 2005 00:03:46 +0000 (00:03 +0000)]
Added the "C" modifier to the itemized list of +/- modifiers.

19 years agoMention the new --filter=-C syntax that lets you position the default
Wayne Davison [Fri, 4 Feb 2005 23:57:26 +0000 (23:57 +0000)]
Mention the new --filter=-C syntax that lets you position the default
CVS rules within your other filter rules.

19 years ago- Moved get_cvs_excludes() up above its only use and made it static.
Wayne Davison [Fri, 4 Feb 2005 22:32:17 +0000 (22:32 +0000)]
- Moved get_cvs_excludes() up above its only use and made it static.
- Changed get_cvs_excludes() to make an mflags arg.

19 years agoIf we're a "local server" (i.e. we just forked a server for a
Wayne Davison [Fri, 4 Feb 2005 21:54:02 +0000 (21:54 +0000)]
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.

19 years agoFixed the way get_rule_prefix() turns the MATCHFLG_WORD_SPLIT flag
Wayne Davison [Fri, 4 Feb 2005 21:16:39 +0000 (21:16 +0000)]
Fixed the way get_rule_prefix() turns the MATCHFLG_WORD_SPLIT flag
back into a modifier character.

19 years ago- Added MATCHFLG_CVS_IGNORE.
Wayne Davison [Fri, 4 Feb 2005 21:13:12 +0000 (21:13 +0000)]
- Added MATCHFLG_CVS_IGNORE.
- Made the match_flags var a uint32.

19 years ago- Moved the cvs_exclude checks into send_filter_list() and
Wayne Davison [Fri, 4 Feb 2005 21:13:09 +0000 (21:13 +0000)]
- 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.

19 years ago- Changed filter_rule() to add_rule().
Wayne Davison [Fri, 4 Feb 2005 21:13:06 +0000 (21:13 +0000)]
- 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).

19 years ago- Changed add_filter() to parse_rule() and add_filter_file()
Wayne Davison [Fri, 4 Feb 2005 21:13:03 +0000 (21:13 +0000)]
- 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.

19 years agoChanged add_filter() to parse_rule() and add_filter_file()
Wayne Davison [Fri, 4 Feb 2005 21:13:00 +0000 (21:13 +0000)]
Changed add_filter() to parse_rule() and add_filter_file()
to parse_filter_file().

19 years agoCall get_rule_prefix() with its new arg.
Wayne Davison [Fri, 4 Feb 2005 21:12:56 +0000 (21:12 +0000)]
Call get_rule_prefix() with its new arg.

19 years agoFixed the MODIFIERS_MERGE_FILE define.
Wayne Davison [Fri, 4 Feb 2005 00:48:18 +0000 (00:48 +0000)]
Fixed the MODIFIERS_MERGE_FILE define.

19 years agoChanged delete_missing() to not limit the use of DEL_FORCE_RECURSE
Wayne Davison [Thu, 3 Feb 2005 19:19:39 +0000 (19:19 +0000)]
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().

19 years agoAdded an mflags arg to get_filter_tok(), add_filter_file(), and
Wayne Davison [Thu, 3 Feb 2005 19:00:20 +0000 (19:00 +0000)]
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.

19 years agoCall add_filter() and add_filter_file() with their new flag args.
Wayne Davison [Thu, 3 Feb 2005 19:00:17 +0000 (19:00 +0000)]
Call add_filter() and add_filter_file() with their new flag args.

19 years ago- Got rid of a bunch of XFLG_* options.
Wayne Davison [Thu, 3 Feb 2005 19:00:13 +0000 (19:00 +0000)]
- Got rid of a bunch of XFLG_* options.
- Added XFLG_OLD_PREFIXES and MATCHFLGS_FROM_CONTAINER defines.

19 years agoUse the new negated exclude to filter out all non-dirs in a few
Wayne Davison [Thu, 3 Feb 2005 03:45:24 +0000 (03:45 +0000)]
Use the new negated exclude to filter out all non-dirs in a few
of the rsync commands.

19 years agoDocument the new "!" modifier for include/exclude filter rules (to
Wayne Davison [Thu, 3 Feb 2005 03:37:02 +0000 (03:37 +0000)]
Document the new "!" modifier for include/exclude filter rules (to
negate the match).

19 years agoImplemented a "!" modifier for filter rules that lets a rule trigger
Wayne Davison [Thu, 3 Feb 2005 03:36:58 +0000 (03:36 +0000)]
Implemented a "!" modifier for filter rules that lets a rule trigger
on a non-matching pattern.

19 years agoAdded MATCHFLG_NEGATE.
Wayne Davison [Thu, 3 Feb 2005 03:36:55 +0000 (03:36 +0000)]
Added MATCHFLG_NEGATE.

19 years agoMention the latest delete optimization.
Wayne Davison [Thu, 3 Feb 2005 02:01:22 +0000 (02:01 +0000)]
Mention the latest delete optimization.

19 years agoChanged delete_files() to use the delete_in_dir() function, which
Wayne Davison [Thu, 3 Feb 2005 02:01:20 +0000 (02:01 +0000)]
Changed delete_files() to use the delete_in_dir() function, which
saves a ton of memory for a large set of files.

19 years ago- We now separate the user-specified top-dir flag (via the restored
Wayne Davison [Thu, 3 Feb 2005 02:01:17 +0000 (02:01 +0000)]
- 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.

19 years ago- Changed {XMIT,FLAG}_DEL_START back to {XMIT,FLAG}_TOP_DIR.
Wayne Davison [Thu, 3 Feb 2005 02:01:14 +0000 (02:01 +0000)]
- Changed {XMIT,FLAG}_DEL_START back to {XMIT,FLAG}_TOP_DIR.
- Define FLAG_DEL_HERE.

19 years agoCall delete_in_dir() with its new args.
Wayne Davison [Thu, 3 Feb 2005 02:01:11 +0000 (02:01 +0000)]
Call delete_in_dir() with its new args.

19 years agoIn hlink_compare(), call f_name_cmp() directly instead of using
Wayne Davison [Thu, 3 Feb 2005 01:19:03 +0000 (01:19 +0000)]
In hlink_compare(), call f_name_cmp() directly instead of using
file_compare().

19 years ago- Improved some comments.
Wayne Davison [Thu, 3 Feb 2005 01:19:01 +0000 (01:19 +0000)]
- 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).

19 years ago- Moved an optimization from file_compare() into f_name_cmp() (the one
Wayne Davison [Thu, 3 Feb 2005 01:18:58 +0000 (01:18 +0000)]
- 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).

19 years ago- If recv_files() is sent the index of a directory, complain about it
Wayne Davison [Thu, 3 Feb 2005 00:19:40 +0000 (00:19 +0000)]
- 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.

19 years agoIf the generator sends us the index of a directory, generate an
Wayne Davison [Wed, 2 Feb 2005 17:15:22 +0000 (17:15 +0000)]
If the generator sends us the index of a directory, generate an
error and die.

19 years ago- Fixed a problem with the setting of the --recurse option from the
Wayne Davison [Wed, 2 Feb 2005 09:40:45 +0000 (09:40 +0000)]
- 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.

19 years agoIn read_sum_head: output the who_am_i() info in our error messages.
Wayne Davison [Tue, 1 Feb 2005 16:42:01 +0000 (16:42 +0000)]
In read_sum_head: output the who_am_i() info in our error messages.

19 years agoSet am_sender to -1 until the end of the option parsing. This
Wayne Davison [Tue, 1 Feb 2005 09:46:42 +0000 (09:46 +0000)]
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.

19 years agoChanged who_am_i() to output "server" or "client" when am_sender
Wayne Davison [Tue, 1 Feb 2005 09:45:09 +0000 (09:45 +0000)]
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).

19 years agoMake sure the %f expansion handles the new dir.root properly.
Wayne Davison [Tue, 1 Feb 2005 09:23:59 +0000 (09:23 +0000)]
Make sure the %f expansion handles the new dir.root properly.

19 years ago- Made flist_find() and receive_file_entry() static functions.
Wayne Davison [Tue, 1 Feb 2005 09:21:32 +0000 (09:21 +0000)]
- 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).

19 years ago- Put "basedir" into a union "dir" and named it "root". The other
Wayne Davison [Tue, 1 Feb 2005 09:21:30 +0000 (09:21 +0000)]
- 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.

19 years agoRefer to the old basedir variable as dir.root.
Wayne Davison [Tue, 1 Feb 2005 09:21:28 +0000 (09:21 +0000)]
Refer to the old basedir variable as dir.root.

19 years agoFixed a typo in a variable name.
Wayne Davison [Tue, 1 Feb 2005 08:12:00 +0000 (08:12 +0000)]
Fixed a typo in a variable name.

19 years agoChanged the "s" modifier to "w" for word-splitting tokens from a
Wayne Davison [Mon, 31 Jan 2005 23:57:35 +0000 (23:57 +0000)]
Changed the "s" modifier to "w" for word-splitting tokens from a
merge filter file.  Also sprinkled some bf(...) macros into that
section.

19 years agoChanged the "s" modifier to "w" for a word-splitting merge file.
Wayne Davison [Mon, 31 Jan 2005 23:51:54 +0000 (23:51 +0000)]
Changed the "s" modifier to "w" for a word-splitting merge file.

19 years ago- Mark references to command-line switches with the bf(...) macro.
Wayne Davison [Mon, 31 Jan 2005 23:41:08 +0000 (23:41 +0000)]
- 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(...).

19 years agoTweaked one or more warning messages.
Wayne Davison [Mon, 31 Jan 2005 19:13:19 +0000 (19:13 +0000)]
Tweaked one or more warning messages.

19 years agoImproved the exclude tests to make sure that the filter files
Wayne Davison [Mon, 31 Jan 2005 18:09:23 +0000 (18:09 +0000)]
Improved the exclude tests to make sure that the filter files
are interacting with --delete-during correctly.

19 years agoAdded "need_first_push" logic to delete_in_dir().
Wayne Davison [Sun, 30 Jan 2005 20:24:11 +0000 (20:24 +0000)]
Added "need_first_push" logic to delete_in_dir().

19 years agoThe --delete-during processing only happens during the first phase
Wayne Davison [Sun, 30 Jan 2005 10:06:18 +0000 (10:06 +0000)]
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.

19 years agodelete_in_dir() now mananges the push/pop levels of nested
Wayne Davison [Sun, 30 Jan 2005 10:01:21 +0000 (10:01 +0000)]
delete_in_dir() now mananges the push/pop levels of nested
directories properly.

19 years ago- Now delete_in_dir() calls send_directory(), not send_file_name().
Wayne Davison [Sun, 30 Jan 2005 09:12:55 +0000 (09:12 +0000)]
- 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).

19 years ago- Restored the io_error test to delete_files().
Wayne Davison [Sun, 30 Jan 2005 07:35:13 +0000 (07:35 +0000)]
- Restored the io_error test to delete_files().
- Sanity check the dir_list value from send_file_list().

19 years ago- Made delete_files() call send_file_list() and delete_missing()
Wayne Davison [Sat, 29 Jan 2005 22:35:53 +0000 (22:35 +0000)]
- Made delete_files() call send_file_list() and delete_missing()
  instead of delete_in_dir().
- Tweaked check in front of delete_files() call.