static void send_directory(int f, struct file_list *flist, int ndx,
char *fbuf, int len, int flags);
-@@ -1702,6 +1744,25 @@ struct file_list *recv_file_list(int f)
+@@ -1706,6 +1748,25 @@ struct file_list *recv_file_list(int f)
clean_flist(flist, relative_paths, 1);
+ the_fattr_list.high = j;
+ }
+
- if (incremental) {
+ if (inc_recurse) {
qsort(dir_flist->files + dstart, dir_flist->count - dstart,
sizeof dir_flist->files[0], (int (*)())file_compare);
--- old/generator.c
rsyserr(FERROR, stat_errno, "recv_generator: failed to stat %s",
full_fname(fname));
return;
-@@ -1683,6 +1838,12 @@ void generate_files(int f_out, char *loc
+@@ -1717,6 +1872,12 @@ void generate_files(int f_out, char *loc
if (verbose > 2)
rprintf(FINFO, "generator starting pid=%ld\n", (long)getpid());
if (delete_before && !local_name && cur_flist->count > 0)
do_delete_pass(cur_flist);
if (delete_during == 2) {
-@@ -1693,7 +1854,7 @@ void generate_files(int f_out, char *loc
+@@ -1727,7 +1888,7 @@ void generate_files(int f_out, char *loc
}
do_progress = 0;
whole_file = 0;
if (verbose >= 2) {
rprintf(FINFO, "delta-transmission %s\n",
-@@ -1718,7 +1879,7 @@ void generate_files(int f_out, char *loc
+@@ -1752,7 +1913,7 @@ void generate_files(int f_out, char *loc
dirdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
} else
dirdev = MAKEDEV(0, 0);
}
}
for (i = cur_flist->low; i <= cur_flist->high; i++) {
-@@ -1764,7 +1925,21 @@ void generate_files(int f_out, char *loc
+@@ -1798,7 +1959,21 @@ void generate_files(int f_out, char *loc
- if (!incremental) {
+ if (!inc_recurse) {
if (delete_during)
- delete_in_dir(NULL, NULL, NULL, &dev_zero);
+ delete_in_dir(NULL, NULL, NULL, &dev_zero, 0);
--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
-@@ -1272,6 +1273,15 @@ Note that the use of the bf(--delete) op
+@@ -1296,6 +1297,15 @@ Note that the use of the bf(--delete) op
fuzzy-match files, so either use bf(--delete-after) or specify some
filename exclusions if you need to prevent this.