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