Twiddled a few defines in rsync.h and improved the docs.
[rsync-patches.git] / filter.diff
index eeab362f7d551fcc756dde7507bd7392024deeb1..1db4a6a0c94633722d1330499bc48a4995750771 100644 (file)
@@ -37,7 +37,7 @@ Then the file ".filt2" will also be read in from the current dir and all
 its subdirs.  The file ".filt3" would just be read in from the current dir
 only.  The exclusion of "foobar" will only happen in that .filt file's
 directory because the rule is anchored, which is one way to make a rule
-local instead of inherited (see also the 'n' option).
+local instead of inherited (see also the 'n' modifier).
 
 ..wayne..
 
@@ -1186,11 +1186,11 @@ local instead of inherited (see also the 'n' option).
  #define XFLG_FATAL_ERRORS     (1<<0)
  #define XFLG_DEF_INCLUDE      (1<<1)
 -#define XFLG_WORDS_ONLY       (1<<2)
-+#define XFLG_NO_PREFIXES      (1<<2)
++#define XFLG_DEF_EXCLUDE      (1<<2)
  #define XFLG_WORD_SPLIT       (1<<3)
  #define XFLG_DIRECTORY                (1<<4)
-+#define XFLG_ABS_PATH         (1<<5)
-+#define XFLG_DEF_EXCLUDE      (1<<6)
++#define XFLG_NO_PREFIXES      (1<<5)
++#define XFLG_ABS_PATH         (1<<6)
  
  #define PERMS_REPORT          (1<<0)
  #define PERMS_SKIP_MTIME      (1<<1)
@@ -1198,13 +1198,13 @@ local instead of inherited (see also the 'n' option).
  #define MATCHFLG_INCLUDE      (1<<4) /* this is an include, not an exclude */
  #define MATCHFLG_DIRECTORY    (1<<5) /* this matches only directories */
  #define MATCHFLG_CLEAR_LIST   (1<<6) /* this item is the "!" token */
-+#define MATCHFLG_MERGE_FILE   (1<<7) /* specifies a file to merge */
++#define MATCHFLG_WORD_SPLIT   (1<<7) /* split rules on whitespace */
 +#define MATCHFLG_NO_INHERIT   (1<<8) /* don't inherit these rules */
-+#define MATCHFLG_PERDIR_MERGE (1<<9) /* merge-file is searched per-dir */
-+#define MATCHFLG_FINISH_SETUP (1<<10)/* per-dir merge file needs setup */
-+#define MATCHFLG_EXCLUDE_SELF (1<<11)/* merge-file name should be excluded */
-+#define MATCHFLG_NO_PREFIXES  (1<<12)/* parse no prefixes from patterns */
-+#define MATCHFLG_WORD_SPLIT   (1<<13)/* spilt on whitespace */
++#define MATCHFLG_NO_PREFIXES  (1<<9) /* parse no prefixes from patterns */
++#define MATCHFLG_MERGE_FILE   (1<<10)/* specifies a file to merge */
++#define MATCHFLG_PERDIR_MERGE (1<<11)/* merge-file is searched per-dir */
++#define MATCHFLG_EXCLUDE_SELF (1<<12)/* merge-file name should be excluded */
++#define MATCHFLG_FINISH_SETUP (1<<13)/* per-dir merge file needs setup */
  struct exclude_struct {
        struct exclude_struct *next;
        char *pattern;
@@ -1359,7 +1359,7 @@ local instead of inherited (see also the 'n' option).
 +
 +The 'x' is a single-letter that specifies the kind of rule to create.  It
 +can have trailing options, and is separated from the RULE by either a
-+single space or an equal-sign.  Here are the available rules:
++single space or an equal-sign.  Here are the available rule prefixes:
 +
 +verb(
 +  -  specifies an exclude pattern.
@@ -1375,8 +1375,8 @@ local instead of inherited (see also the 'n' option).
 +mention the comment lines when reading rules from a file).  If a pattern
 +does not begin with "- " (dash, space) or "+ " (plus, space), then the
 +rule will be interpreted as if "+ " (for an include option) or "- " (for
-+an exclude option) were prefixed to the string, and the resulting rule
-+passed to the --filter option.
++an exclude option) were prefixed to the string.  A --filter option, on
++the other hand, must always contain one of the prefixes above.
 +
 +Note also that the --filter, --include, and --exclude options take one
 +rule/pattern each. To add multiple ones, you can repeat the options on