Updated to apply cleanly.
[rsync/rsync-patches.git] / filter.diff
index ffaf81c..25300fe 100644 (file)
@@ -88,7 +88,7 @@ that's how you can make rules local instead of inherited).
  
        log_init();
  
---- orig/exclude.c     2004-08-10 18:17:01
+--- orig/exclude.c     2004-09-22 08:47:31
 +++ exclude.c  2004-08-13 07:40:08
 @@ -30,13 +30,69 @@ extern int verbose;
  extern int eol_nulls;
@@ -621,7 +621,7 @@ that's how you can make rules local instead of inherited).
                s += 2;
        } else if (xflags & XFLG_DEF_INCLUDE)
                mflags |= MATCHFLG_INCLUDE;
-@@ -273,6 +660,8 @@ static const char *get_exclude_tok(const
+@@ -275,6 +662,8 @@ static const char *get_exclude_tok(const
  
        if (*p == '!' && len == 1 && !(xflags & XFLG_WORDS_ONLY))
                mflags |= MATCHFLG_CLEAR_LIST;
@@ -630,7 +630,7 @@ that's how you can make rules local instead of inherited).
  
        *len_ptr = len;
        *flag_ptr = mflags;
-@@ -284,7 +673,7 @@ void add_exclude(struct exclude_list_str
+@@ -286,7 +675,7 @@ void add_exclude(struct exclude_list_str
                 int xflags)
  {
        unsigned int pat_len, mflags;
@@ -639,7 +639,7 @@ that's how you can make rules local instead of inherited).
  
        if (!pattern)
                return;
-@@ -292,9 +681,15 @@ void add_exclude(struct exclude_list_str
+@@ -294,9 +683,15 @@ void add_exclude(struct exclude_list_str
        cp = pattern;
        pat_len = 0;
        while (1) {
@@ -655,7 +655,7 @@ that's how you can make rules local instead of inherited).
  
                if (mflags & MATCHFLG_CLEAR_LIST) {
                        if (verbose > 2) {
-@@ -306,13 +701,24 @@ void add_exclude(struct exclude_list_str
+@@ -308,13 +703,24 @@ void add_exclude(struct exclude_list_str
                        continue;
                }
  
@@ -686,7 +686,7 @@ that's how you can make rules local instead of inherited).
        }
  }
  
-@@ -321,7 +727,7 @@ void add_exclude_file(struct exclude_lis
+@@ -323,7 +729,7 @@ void add_exclude_file(struct exclude_lis
                      int xflags)
  {
        FILE *fp;
@@ -695,7 +695,7 @@ that's how you can make rules local instead of inherited).
        char *eob = line + sizeof line - 1;
        int word_split = xflags & XFLG_WORD_SPLIT;
  
-@@ -342,6 +748,12 @@ void add_exclude_file(struct exclude_lis
+@@ -344,6 +750,12 @@ void add_exclude_file(struct exclude_lis
                }
                return;
        }
@@ -708,7 +708,7 @@ that's how you can make rules local instead of inherited).
  
        while (1) {
                char *s = line;
-@@ -402,7 +814,21 @@ void send_exclude_list(int f)
+@@ -404,7 +816,21 @@ void send_exclude_list(int f)
                if (ent->match_flags & MATCHFLG_INCLUDE) {
                        write_int(f, l + 2);
                        write_buf(f, "+ ", 2);
@@ -731,7 +731,7 @@ that's how you can make rules local instead of inherited).
                        write_int(f, l + 2);
                        write_buf(f, "- ", 2);
                } else
-@@ -443,6 +869,7 @@ void add_cvs_excludes(void)
+@@ -445,6 +871,7 @@ void add_cvs_excludes(void)
        char fname[MAXPATHLEN];
        char *p;
  
@@ -870,7 +870,7 @@ that's how you can make rules local instead of inherited).
                if (link_stat(fname, &st, keep_dirlinks) != 0) {
                        if (f != -1) {
                                io_error |= IOERR_GENERAL;
---- orig/options.c     2004-09-20 05:10:48
+--- orig/options.c     2004-09-23 17:42:07
 +++ options.c  2004-08-12 18:59:28
 @@ -287,6 +287,7 @@ void usage(enum logcode F)
    rprintf(F,"     --include=PATTERN       don't exclude files matching PATTERN\n");
@@ -900,17 +900,17 @@ that's how you can make rules local instead of inherited).
                case 'P':
                        do_progress = 1;
                        keep_partial = 1;
---- orig/rsync.h       2004-08-03 15:41:32
-+++ rsync.h    2004-08-08 06:07:01
-@@ -108,6 +108,7 @@
- #define XFLG_DEF_INCLUDE      (1<<1)
+--- orig/rsync.h       2004-09-22 08:47:31
++++ rsync.h    2004-09-22 08:48:53
+@@ -109,6 +109,7 @@
  #define XFLG_WORDS_ONLY       (1<<2)
  #define XFLG_WORD_SPLIT       (1<<3)
-+#define XFLG_ABS_PATH         (1<<4)
+ #define XFLG_DIRECTORY                (1<<4)
++#define XFLG_ABS_PATH         (1<<5)
  
  #define PERMS_REPORT          (1<<0)
  #define PERMS_SKIP_MTIME      (1<<1)
-@@ -499,11 +500,18 @@ struct map_struct {
+@@ -500,11 +501,18 @@ struct map_struct {
  #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 */
@@ -930,7 +930,7 @@ that's how you can make rules local instead of inherited).
  };
  
  struct exclude_list_struct {
---- orig/rsync.yo      2004-09-20 05:10:48
+--- orig/rsync.yo      2004-09-24 16:42:30
 +++ rsync.yo   2004-08-13 00:43:31
 @@ -364,6 +364,7 @@ verb(
       --include=PATTERN       don't exclude files matching PATTERN
@@ -940,7 +940,7 @@ that's how you can make rules local instead of inherited).
   -0  --from0                 all file lists are delimited by nulls
       --version               print version number
       --daemon                run as an rsync daemon
-@@ -1025,24 +1026,32 @@ The exclude and include patterns specifi
+@@ -1037,24 +1038,32 @@ The exclude and include patterns specifi
  selection of which files to transfer and which files to skip.
  
  Rsync builds an ordered list of include/exclude options as specified on
@@ -981,7 +981,7 @@ that's how you can make rules local instead of inherited).
  
  Let's say that we want to match two source files, one with an absolute
  path of "/home/me/foo/bar", and one with a path of "/home/you/bar/baz".
-@@ -1089,23 +1098,27 @@ because rsync did not descend through th
+@@ -1101,23 +1110,27 @@ because rsync did not descend through th
  hierarchy.
  
  Note also that the --include and --exclude options take one pattern
@@ -1020,7 +1020,7 @@ that's how you can make rules local instead of inherited).
  
    it() if the pattern ends with a / then it will only match a
    directory, not a file, link, or device.
-@@ -1118,22 +1131,31 @@ itemize(
+@@ -1130,22 +1143,31 @@ itemize(
    single asterisk pattern "*" will stop at slashes.
  
    it() if the pattern contains a / (not counting a trailing /) or a "**"
@@ -1056,7 +1056,7 @@ that's how you can make rules local instead of inherited).
  )
  
  The +/- rules are most useful in a list that was read from a file, allowing
-@@ -1180,8 +1202,160 @@ itemize(
+@@ -1192,8 +1214,160 @@ itemize(
    it() --include "*/" --include "*.c" --exclude "*" would include all 
    directories and C source files
    it() --include "foo/" --include "foo/bar.c" --exclude "*" would include