---- exclude.c 22 Apr 2004 22:17:15 -0000 1.71
-+++ exclude.c 22 Apr 2004 10:32:52 -0000
+--- exclude.c 24 Apr 2004 08:00:39 -0000 1.73
++++ exclude.c 24 Apr 2004 08:09:39 -0000
@@ -27,15 +27,17 @@
#include "rsync.h"
extern char curr_dir[];
-struct exclude_list_struct exclude_list = { 0, 0, "" };
--struct exclude_list_struct local_exclude_list = { 0, 0, "local-cvsignore " };
+-struct exclude_list_struct local_exclude_list = { 0, 0, "per-dir .cvsignore " };
-struct exclude_list_struct server_exclude_list = { 0, 0, "server " };
+struct exclude_list_struct exclude_list = { 0, 0, 0, "" };
-+struct exclude_list_struct perdir_exclude_list = { 0, 0, 0, "perdir " };
-+struct exclude_list_struct local_exclude_list = { 0, 0, 0, "local-cvsignore " };
++struct exclude_list_struct perdir_exclude_list = { 0, 0, 0, "per-dir custom " };
++struct exclude_list_struct local_exclude_list = { 0, 0, 0, "per-dir .cvsignore " };
+struct exclude_list_struct server_exclude_list = { 0, 0, 0, "server " };
char *exclude_path_prefix = NULL;
}
static int check_one_exclude(char *name, struct exclude_struct *ex,
-@@ -215,22 +233,25 @@ static void report_exclude_result(char c
+@@ -215,21 +233,24 @@ static void report_exclude_result(char c
/*
- * Return true if file NAME is defined to be excluded by the specified
-- * exclude list. Returns -1 for an exclude, 1 for an include, and 0 if
-- * no match.
-+ * exclude list. Returns -1 for an exclude, 0 for a normal include, or 1
-+ * for a super include.
+ * Return -1 if file "name" is defined to be excluded by the specified
+- * exclude list, 1 if it is included, and 0 if it was not matched.
++ * exclude list, 0 for a normal include, or 1 for a super include.
*/
-int check_exclude(struct exclude_list_struct *listp, char *name, int name_is_dir)
+int check_exclude(struct exclude_list_struct *listp, char *name, int name_is_dir,
}
-@@ -256,10 +277,10 @@ static const char *get_exclude_tok(const
+@@ -255,10 +276,10 @@ static const char *get_exclude_tok(const
p = (const char *)s;
}
s += 2;
} else
*incl_ptr = xflags & XFLG_DEF_INCLUDE;
-@@ -391,8 +412,12 @@ void send_exclude_list(int f)
+@@ -390,8 +411,12 @@ void send_exclude_list(int f)
if (ent->include) {
write_int(f, l + 2);
write_buf(f, "- ", 2);
} else
--- flist.c 22 Apr 2004 22:17:15 -0000 1.216
-+++ flist.c 22 Apr 2004 10:32:52 -0000
++++ flist.c 24 Apr 2004 08:09:39 -0000
@@ -40,6 +40,7 @@ extern int ignore_errors;
extern int numeric_ids;
}
}
--- options.c 17 Apr 2004 17:07:23 -0000 1.147
-+++ options.c 22 Apr 2004 10:32:53 -0000
++++ options.c 24 Apr 2004 08:09:40 -0000
@@ -70,6 +70,7 @@ int am_server = 0;
int am_sender = 0;
int am_generator = 0;
{"links", 'l', POPT_ARG_NONE, &preserve_links, 0, 0, 0 },
{"copy-links", 'L', POPT_ARG_NONE, ©_links, 0, 0, 0 },
--- proto.h 22 Apr 2004 09:58:09 -0000 1.189
-+++ proto.h 22 Apr 2004 10:32:53 -0000
++++ proto.h 24 Apr 2004 08:09:40 -0000
@@ -52,7 +52,10 @@ int daemon_main(void);
void setup_protocol(int f_out,int f_in);
int claim_connection(char *fname,int max_connections);
int xflags);
void add_exclude_file(struct exclude_list_struct *listp, const char *fname,
--- rsync.h 22 Apr 2004 09:58:24 -0000 1.198
-+++ rsync.h 22 Apr 2004 10:32:53 -0000
++++ rsync.h 24 Apr 2004 08:09:40 -0000
@@ -502,6 +502,7 @@ struct exclude_struct {
struct exclude_list_struct {
struct exclude_struct *head;
char *debug_type;
};
---- rsync.yo 22 Apr 2004 21:35:45 -0000 1.161
-+++ rsync.yo 22 Apr 2004 10:32:54 -0000
+--- rsync.yo 24 Apr 2004 06:16:04 -0000 1.164
++++ rsync.yo 24 Apr 2004 08:09:41 -0000
@@ -331,6 +331,7 @@ verb(
--exclude-from=FILE exclude patterns listed in FILE
--include=PATTERN don't exclude files matching PATTERN
--files-from=FILE read FILE for list of source-file names
-0 --from0 all file lists are delimited by nulls
--version print version number
-@@ -675,6 +676,15 @@ dit(bf(--include-from=FILE)) This specif
+@@ -680,6 +681,15 @@ dit(bf(--include-from=FILE)) This specif
from a file.
If em(FILE) is bf(-) the list will be read from standard input.
dit(bf(--files-from=FILE)) Using this option allows you to specify the
exact list of files to transfer (as read from the specified FILE or "-"
for stdin). It also tweaks the default behavior of rsync to make
-@@ -714,7 +724,8 @@ was located on the remote "src" host.
+@@ -719,7 +729,8 @@ was located on the remote "src" host.
dit(bf(-0, --from0)) This tells rsync that the filenames it reads from a
file are terminated by a null ('\0') character, not a NL, CR, or CR+LF.
It does not affect --cvs-exclude (since all names read from a .cvsignore
file are split on whitespace).
-@@ -1001,6 +1012,12 @@ itemize(
+@@ -1011,6 +1022,12 @@ itemize(
it() if the pattern starts with "- " (a minus followed by a space)
then it is always considered an exclude pattern, even if specified as
part of an include option. The prefix is discarded before matching.
it() if the pattern is a single exclamation mark ! then the current
include/exclude list is reset, removing all previously defined patterns.
--- t_stub.c 22 Apr 2004 09:58:11 -0000 1.7
-+++ t_stub.c 22 Apr 2004 10:32:54 -0000
++++ t_stub.c 24 Apr 2004 08:09:41 -0000
@@ -46,7 +46,7 @@ struct exclude_list_struct server_exclud
}
/* This function doesn't really get called in this test context, so
* just return 0. */
--- util.c 22 Apr 2004 22:17:15 -0000 1.138
-+++ util.c 22 Apr 2004 10:32:54 -0000
++++ util.c 24 Apr 2004 08:09:41 -0000
@@ -476,7 +476,7 @@ static int exclude_server_path(char *arg
if (server_exclude_list.head) {
for (s = arg; (s = strchr(s, '/')) != NULL; ) {