Refactorings to the filter code, most notably:
authorMatt McCutchen <matt@mattmccutchen.net>
Tue, 5 May 2009 02:33:55 +0000 (22:33 -0400)
committerMatt McCutchen <matt@mattmccutchen.net>
Tue, 5 May 2009 02:43:58 +0000 (22:43 -0400)
commitebaa4296bf813e36fcc7fd63ec813b2de59600a9
treed558f5859cca7a901ee1fa43a4a44fff27208c4c
parentaf56f1e6d40a201c3cbd735c903fd5213fd1e62b
Refactorings to the filter code, most notably:

- Improve function names: parse_filter_file -> load_filter_file and
  parse_rule -> load_filter_str (to make the similarity clearer, since
  it /can/ load multiple rules when MATCHFLG_WORD_SPLIT is specified).

- In preparation for rule prefixes containing information beyond the
  mflags, change the code to pass around a full "template" filter_struct
  instead of just mflags.  Callers of load_filter_{str,file} that want
  to specify only mflags can use filter_template(mflags) .

- Remove the MODIFIERS_* strings and instead hand-code the condition
  under which each modifier is valid.  This should make it easier to
  see that the conditions are correct.

- Tighten up default modifiers on merge rules:
  - Disallow "!" because it isn't useful.
  - If the merge rule specifies a side via "s" or "r", the rules in the
    file cannot also specify a side via "s", "r", "hide", etc.
batch.c
clientserver.c
compat.c
exclude.c
options.c
rsync.h
rsync.yo