A local server needs to process the auto-exclude rules since we don't
authorWayne Davison <wayned@samba.org>
Sun, 4 Mar 2007 14:56:22 +0000 (14:56 +0000)
committerWayne Davison <wayned@samba.org>
Sun, 4 Mar 2007 14:56:22 +0000 (14:56 +0000)
send the excludes over the socket for a local copy.

compat.c

index ed1f2a2..714f1cb 100644 (file)
--- a/compat.c
+++ b/compat.c
@@ -28,6 +28,7 @@ int inc_recurse = 0;
 extern int verbose;
 extern int am_server;
 extern int am_sender;
+extern int local_server;
 extern int inplace;
 extern int recurse;
 extern int fuzzy_basis;
@@ -156,7 +157,7 @@ void setup_protocol(int f_out,int f_in)
        }
 
        if (make_backups && !backup_dir && delete_mode && !delete_excluded
-        && !am_server) {
+        && (!am_server || local_server)) {
                char *rule;
                if (asprintf(&rule, "P%s *%s",
                            !am_sender || protocol_version >= 30 ? "p" : "",
@@ -165,7 +166,7 @@ void setup_protocol(int f_out,int f_in)
                parse_rule(&filter_list, rule, 0, 0);
                free(rule);
        }
-       if (partial_dir && *partial_dir != '/' && !am_server) {
+       if (partial_dir && *partial_dir != '/' && (!am_server || local_server)) {
                int flags = MATCHFLG_NO_PREFIXES | MATCHFLG_DIRECTORY;
                if (!am_sender || protocol_version >= 30)
                        flags |= MATCHFLG_PERISHABLE;