Adding filter-attribute-mods patch; updating patches.
[rsync/rsync-patches.git] / detect-renamed.diff
index f85c1b6..819ca2b 100644 (file)
@@ -32,8 +32,8 @@ TODO:
   a file that can't use it, while missing out on giving it to a file
   that could use it.
 
+based-on: 181c9faf928faad08ef095f4667afe460ec3bef6
 diff --git a/compat.c b/compat.c
-index 6e00072..5fc9e37 100644
 --- a/compat.c
 +++ b/compat.c
 @@ -40,6 +40,7 @@ extern int checksum_seed;
@@ -53,7 +53,6 @@ index 6e00072..5fc9e37 100644
                allow_inc_recurse = 0;
        else if (am_server && !local_server
 diff --git a/delete.c b/delete.c
-index 33fdd0e..6130a4c 100644
 --- a/delete.c
 +++ b/delete.c
 @@ -25,6 +25,7 @@
@@ -103,7 +102,6 @@ index 33fdd0e..6130a4c 100644
  enum delret delete_item(char *fbuf, uint16 mode, uint16 flags)
  {
 diff --git a/flist.c b/flist.c
-index 09b4fc5..929aa85 100644
 --- a/flist.c
 +++ b/flist.c
 @@ -63,6 +63,7 @@ extern int non_perishable_cnt;
@@ -169,7 +167,7 @@ index 09b4fc5..929aa85 100644
  static void send_directory(int f, struct file_list *flist,
                           char *fbuf, int len, int flags);
  
-@@ -2464,6 +2506,25 @@ struct file_list *recv_file_list(int f)
+@@ -2474,6 +2516,25 @@ struct file_list *recv_file_list(int f)
  
        flist_sort_and_clean(flist, relative_paths);
  
@@ -196,7 +194,6 @@ index 09b4fc5..929aa85 100644
                /* Recv the io_error flag */
                int err = read_int(f);
 diff --git a/generator.c b/generator.c
-index 12007a1..35ba203 100644
 --- a/generator.c
 +++ b/generator.c
 @@ -81,6 +81,7 @@ extern char *partial_dir;
@@ -210,7 +207,7 @@ index 12007a1..35ba203 100644
 @@ -98,10 +99,12 @@ extern uid_t our_uid;
  extern char *basis_dir[MAX_BASIS_DIRS+1];
  extern struct file_list *cur_flist, *first_flist, *dir_flist;
- extern struct filter_list_struct filter_list, daemon_filter_list;
+ extern filter_rule_list filter_list, daemon_filter_list;
 +extern struct file_list the_fattr_list;
  
  int maybe_ATTRS_REPORT = 0;
@@ -479,7 +476,7 @@ index 12007a1..35ba203 100644
                                change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
                }
                goto cleanup;
-@@ -1601,8 +1745,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1605,8 +1749,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        goto cleanup;
                }
  #endif
@@ -495,7 +492,7 @@ index 12007a1..35ba203 100644
                rsyserr(FERROR_XFER, stat_errno, "recv_generator: failed to stat %s",
                        full_fname(fname));
                goto cleanup;
-@@ -2003,6 +2153,12 @@ void generate_files(int f_out, const char *local_name)
+@@ -1998,6 +2148,12 @@ void generate_files(int f_out, const char *local_name)
        if (DEBUG_GTE(GENR, 1))
                rprintf(FINFO, "generator starting pid=%ld\n", (long)getpid());
  
@@ -508,7 +505,7 @@ index 12007a1..35ba203 100644
        if (delete_before && !solo_file && cur_flist->used > 0)
                do_delete_pass();
        if (delete_during == 2) {
-@@ -2013,7 +2169,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2008,7 +2164,7 @@ void generate_files(int f_out, const char *local_name)
        }
        info_levels[INFO_FLIST] = info_levels[INFO_PROGRESS] = 0;
  
@@ -517,7 +514,7 @@ index 12007a1..35ba203 100644
                whole_file = 0;
        if (DEBUG_GTE(FLIST, 1)) {
                rprintf(FINFO, "delta-transmission %s\n",
-@@ -2055,7 +2211,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2050,7 +2206,7 @@ void generate_files(int f_out, const char *local_name)
                                                dirdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
                                        } else
                                                dirdev = MAKEDEV(0, 0);
@@ -526,7 +523,7 @@ index 12007a1..35ba203 100644
                                } else
                                        change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
                        }
-@@ -2102,7 +2258,21 @@ void generate_files(int f_out, const char *local_name)
+@@ -2097,7 +2253,21 @@ void generate_files(int f_out, const char *local_name)
        } while ((cur_flist = cur_flist->next) != NULL);
  
        if (delete_during)
@@ -550,7 +547,6 @@ index 12007a1..35ba203 100644
        if (DEBUG_GTE(GENR, 1))
                rprintf(FINFO, "generate_files phase=%d\n", phase);
 diff --git a/options.c b/options.c
-index e7c6c61..7e454b3 100644
 --- a/options.c
 +++ b/options.c
 @@ -80,6 +80,7 @@ int am_server = 0;
@@ -577,7 +573,7 @@ index e7c6c61..7e454b3 100644
    {"fuzzy",           'y', POPT_ARG_VAL,    &fuzzy_basis, 1, 0, 0 },
    {"no-fuzzy",         0,  POPT_ARG_VAL,    &fuzzy_basis, 0, 0, 0 },
    {"no-y",             0,  POPT_ARG_VAL,    &fuzzy_basis, 0, 0, 0 },
-@@ -2105,7 +2108,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2122,7 +2125,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                inplace = 1;
        }
  
@@ -586,7 +582,7 @@ index e7c6c61..7e454b3 100644
                partial_dir = tmp_partialdir;
  
        if (inplace) {
-@@ -2114,6 +2117,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2131,6 +2134,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        snprintf(err_buf, sizeof err_buf,
                                 "--%s cannot be used with --%s\n",
                                 append_mode ? "append" : "inplace",
@@ -594,7 +590,7 @@ index e7c6c61..7e454b3 100644
                                 delay_updates ? "delay-updates" : "partial-dir");
                        return 0;
                }
-@@ -2476,6 +2480,8 @@ void server_options(char **args, int *argc_p)
+@@ -2493,6 +2497,8 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = "--super";
                if (size_only)
                        args[ac++] = "--size-only";
@@ -604,7 +600,6 @@ index e7c6c61..7e454b3 100644
                        args[ac++] = "--stats";
        } else {
 diff --git a/rsync.h b/rsync.h
-index be7cf8a..278e282 100644
 --- a/rsync.h
 +++ b/rsync.h
 @@ -242,7 +242,7 @@ enum msgcode {
@@ -625,7 +620,6 @@ index be7cf8a..278e282 100644
  #define DEL_MAKE_ROOM (DEL_FOR_FILE|DEL_FOR_DIR|DEL_FOR_SYMLINK|DEL_FOR_DEVICE|DEL_FOR_SPECIAL)
  
 diff --git a/rsync.yo b/rsync.yo
-index 941f7a5..4df39b0 100644
 --- a/rsync.yo
 +++ b/rsync.yo
 @@ -397,6 +397,7 @@ to the detailed description below for a complete description.  verb(
@@ -636,7 +630,7 @@ index 941f7a5..4df39b0 100644
       --compare-dest=DIR      also compare received files relative to DIR
       --copy-dest=DIR         ... and include copies of unchanged files
       --link-dest=DIR         hardlink to files in DIR when unchanged
-@@ -1605,6 +1606,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
+@@ -1624,6 +1625,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
  fuzzy-match files, so either use bf(--delete-after) or specify some
  filename exclusions if you need to prevent this.
  
@@ -659,10 +653,9 @@ index 941f7a5..4df39b0 100644
  the destination machine as an additional hierarchy to compare destination
  files against doing transfers (if the files are missing in the destination
 diff --git a/util.c b/util.c
-index 0cafed6..7e5c71f 100644
 --- a/util.c
 +++ b/util.c
-@@ -1064,6 +1064,32 @@ char *normalize_path(char *path, BOOL force_newbuf, unsigned int *len_ptr)
+@@ -1112,6 +1112,32 @@ char *normalize_path(char *path, BOOL force_newbuf, unsigned int *len_ptr)
        return path;
  }