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.
- 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).
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.
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.
- 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).
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).
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).
- 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).
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.
- 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(...).