..wayne..
---- exclude.c 21 May 2004 09:59:49 -0000 1.81
-+++ exclude.c 21 May 2004 23:49:03 -0000
+--- exclude.c 22 May 2004 05:32:20 -0000 1.82
++++ exclude.c 22 May 2004 06:02:55 -0000
@@ -30,13 +30,56 @@ extern int verbose;
extern int eol_nulls;
extern int list_only;
+ struct exclude_list_struct *ap;
+ int i;
+
-+ for (i = 0; i < mergelist_cnt; i++) {
++ for (i = mergelist_cnt; i-- > 0; ) {
+ struct exclude_struct *ex = mergelist_parents[i];
+ struct exclude_list_struct *lp = ex->u.mergelist;
+
if (check_one_exclude(name, ent, name_is_dir)) {
report_exclude_result(name, ent, name_is_dir,
listp->debug_type);
-@@ -254,11 +437,16 @@ static const char *get_exclude_tok(const
+@@ -253,11 +436,16 @@ static const char *get_exclude_tok(const
p = (const char *)s;
}
s += 2;
} else if (xflags & XFLG_DEF_INCLUDE)
mflags |= MATCHFLG_INCLUDE;
-@@ -307,11 +495,42 @@ void add_exclude(struct exclude_list_str
+@@ -306,11 +494,42 @@ void add_exclude(struct exclude_list_str
continue;
}
mflags & MATCHFLG_INCLUDE ? "in" : "ex");
}
}
-@@ -403,7 +622,11 @@ void send_exclude_list(int f)
+@@ -402,7 +621,11 @@ void send_exclude_list(int f)
if (ent->match_flags & MATCHFLG_INCLUDE) {
write_int(f, l + 2);
write_buf(f, "+ ", 2);
write_int(f, l + 2);
write_buf(f, "- ", 2);
} else
-@@ -444,6 +667,7 @@ void add_cvs_excludes(void)
+@@ -443,6 +666,7 @@ void add_cvs_excludes(void)
char fname[MAXPATHLEN];
char *p;
XFLG_WORD_SPLIT | XFLG_WORDS_ONLY);
--- flist.c 21 May 2004 23:22:14 -0000 1.225
-+++ flist.c 21 May 2004 23:49:04 -0000
++++ flist.c 22 May 2004 06:02:55 -0000
@@ -39,8 +39,6 @@ extern int module_id;
extern int ignore_errors;
extern int numeric_ids;
}
--- rsync.h 16 May 2004 07:28:24 -0000 1.204
-+++ rsync.h 21 May 2004 23:49:05 -0000
++++ rsync.h 22 May 2004 06:02:56 -0000
@@ -496,11 +496,16 @@ struct map_struct {
#define MATCHFLG_INCLUDE (1<<4) /* this is an include, not an exclude */
#define MATCHFLG_DIRECTORY (1<<5) /* this matches only directories */
struct exclude_list_struct {
--- rsync.yo 21 May 2004 09:44:32 -0000 1.170
-+++ rsync.yo 21 May 2004 23:49:05 -0000
++++ rsync.yo 22 May 2004 06:02:57 -0000
@@ -1090,6 +1090,72 @@ itemize(
it would be excluded by the "*")
)