From 9a70b74359eebd085847e3937f59bc16919615da Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 10 Nov 2006 20:40:55 +0000 Subject: [PATCH] Fixed failing hunks. --- atimes.diff | 38 ++++++++++++++++++------------------- detect-renamed.diff | 46 ++++++++++++++++++++++----------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/atimes.diff b/atimes.diff index 0ec615a..07a2780 100644 --- a/atimes.diff +++ b/atimes.diff @@ -214,7 +214,7 @@ To use this patch, run these commands for a successful build: extern struct file_list *the_file_list; extern struct filter_list_struct server_filter_list; -@@ -182,7 +184,7 @@ static int delete_item(char *fname, int +@@ -185,7 +187,7 @@ static int delete_item(char *fname, int for (j = dirlist->count; j--; ) { struct file_struct *fp = dirlist->files[j]; @@ -223,7 +223,7 @@ To use this patch, run these commands for a successful build: continue; strlcpy(p, fp->basename, remainder); -@@ -260,7 +262,7 @@ static void delete_in_dir(struct file_li +@@ -263,7 +265,7 @@ static void delete_in_dir(struct file_li filt_array[cur_depth] = push_local_filters(fbuf, dlen); if (one_file_system) { @@ -232,7 +232,7 @@ To use this patch, run these commands for a successful build: filesystem_dev = stp->st_dev; else if (filesystem_dev != stp->st_dev) return; -@@ -272,7 +274,7 @@ static void delete_in_dir(struct file_li +@@ -275,7 +277,7 @@ static void delete_in_dir(struct file_li * from the filesystem. */ for (i = dirlist->count; i--; ) { struct file_struct *fp = dirlist->files[i]; @@ -241,7 +241,7 @@ To use this patch, run these commands for a successful build: continue; if (flist_find(flist, fp) < 0) { f_name(fp, delbuf); -@@ -298,11 +300,11 @@ static void do_delete_pass(struct file_l +@@ -301,11 +303,11 @@ static void do_delete_pass(struct file_l for (j = 0; j < flist->count; j++) { struct file_struct *file = flist->files[j]; @@ -255,9 +255,9 @@ To use this patch, run these commands for a successful build: rprintf(FINFO, "deleting in %s\n", fbuf); if (link_stat(fbuf, &st, keep_dirlinks) < 0 -@@ -346,6 +348,9 @@ void itemize(struct file_struct *file, i - && (!(iflags & ITEM_XNAME_FOLLOWS) || *xname)) - || (keep_time && cmp_time(file->modtime, st->st_mtime) != 0)) +@@ -350,6 +352,9 @@ void itemize(struct file_struct *file, i + && (!(iflags & ITEM_XNAME_FOLLOWS) || *xname)) + || (keep_time && cmp_time(file->modtime, st->st_mtime) != 0)) iflags |= ITEM_REPORT_TIME; + if (preserve_atimes && !S_ISDIR(file->mode) && !S_ISLNK(file->mode) + && cmp_time(file->atime, st->st_atime) != 0) @@ -265,7 +265,7 @@ To use this patch, run these commands for a successful build: if ((file->mode & CHMOD_BITS) != (st->st_mode & CHMOD_BITS)) iflags |= ITEM_REPORT_PERMS; if (preserve_uid && am_root && file->uid != st->st_uid) -@@ -549,7 +554,7 @@ static int find_fuzzy(struct file_struct +@@ -553,7 +558,7 @@ static int find_fuzzy(struct file_struct uint32 dist; if (!S_ISREG(fp->mode) || !fp->length @@ -274,16 +274,16 @@ To use this patch, run these commands for a successful build: continue; name = fp->basename; -@@ -658,6 +663,8 @@ static int try_dests_reg(struct file_str - itemizing && verbose > 1, - code) < 0) +@@ -661,6 +666,8 @@ static int try_dests_reg(struct file_str + if (hard_link_one(file, ndx, fname, 0, stp, + cmpbuf, 1, i, code) < 0) goto try_a_copy; + if (preserve_atimes) + set_file_attrs(fname, file, stp, 0); if (preserve_hard_links && file->link_u.links) { if (dry_run) file->link_u.links->link_dest_used = j + 1; -@@ -930,7 +937,7 @@ static void recv_generator(char *fname, +@@ -1012,7 +1019,7 @@ static void recv_generator(char *fname, rsyserr(FERROR, errno, "recv_generator: mkdir %s failed", full_fname(fname)); @@ -292,16 +292,16 @@ To use this patch, run these commands for a successful build: if (ndx+1 < the_file_list->count && the_file_list->files[ndx+1]->dir.depth > file->dir.depth) { rprintf(FERROR, -@@ -944,7 +951,7 @@ static void recv_generator(char *fname, - && verbose && code != FNONE && f_out != -1) - rprintf(code, "%s/\n", fname); +@@ -1028,7 +1035,7 @@ static void recv_generator(char *fname, + if (real_ret != 0 && one_file_system) + real_st.st_dev = filesystem_dev; if (delete_during && f_out != -1 && !phase && dry_run < 2 - && (file->flags & FLAG_DEL_HERE)) + && (FFLAGS(file) & FLAG_DEL_HERE)) - delete_in_dir(the_file_list, fname, file, &st); + delete_in_dir(the_file_list, fname, file, &real_st); return; } -@@ -1252,7 +1259,7 @@ static void recv_generator(char *fname, +@@ -1324,7 +1331,7 @@ static void recv_generator(char *fname, if (fuzzy_dirlist) { int j = flist_find(fuzzy_dirlist, file); if (j >= 0) /* don't use changing file as future fuzzy basis */ @@ -310,7 +310,7 @@ To use this patch, run these commands for a successful build: } /* open the file */ -@@ -1517,7 +1524,7 @@ void generate_files(int f_out, struct fi +@@ -1589,7 +1596,7 @@ void generate_files(int f_out, struct fi continue; if (!need_retouch_dir_times && file->mode & S_IWUSR) continue; @@ -504,7 +504,7 @@ To use this patch, run these commands for a successful build: #define FULL_FLUSH 1 #define NORMAL_FLUSH 0 -@@ -530,9 +532,12 @@ struct file_struct { +@@ -531,9 +533,12 @@ struct file_struct { uid_t uid; gid_t gid; mode_t mode; diff --git a/detect-renamed.diff b/detect-renamed.diff index fd66988..f63b881 100644 --- a/detect-renamed.diff +++ b/detect-renamed.diff @@ -148,8 +148,8 @@ TODO: +#define DEL_NO_DELETIONS (1<<2) #define DEL_TERSE (1<<3) - -@@ -106,12 +110,120 @@ static int is_backup_file(char *fn) + enum nonregtype { +@@ -109,12 +113,120 @@ static int is_backup_file(char *fn) return k > 0 && strcmp(fn+k, backup_suffix) == 0; } @@ -270,7 +270,7 @@ TODO: */ static int delete_item(char *fname, int mode, int flags) { -@@ -122,6 +234,8 @@ static int delete_item(char *fname, int +@@ -125,6 +237,8 @@ static int delete_item(char *fname, int char *p; if (!S_ISDIR(mode)) { @@ -279,7 +279,7 @@ TODO: if (max_delete && ++deletion_count > max_delete) return 0; if (make_backups && (backup_dir || !is_backup_file(fname))) -@@ -144,6 +258,7 @@ static int delete_item(char *fname, int +@@ -147,6 +261,7 @@ static int delete_item(char *fname, int zap_dir = flags & DEL_FORCE_RECURSE || force_delete; if ((max_delete && ++deletion_count > max_delete) @@ -287,7 +287,7 @@ TODO: || (dry_run && zap_dir)) { ok = 0; errno = ENOTEMPTY; -@@ -186,6 +301,8 @@ static int delete_item(char *fname, int +@@ -189,6 +304,8 @@ static int delete_item(char *fname, int continue; strlcpy(p, fp->basename, remainder); @@ -296,7 +296,7 @@ TODO: delete_item(fname, fp->mode, flags & ~DEL_TERSE); } flist_free(dirlist); -@@ -194,7 +311,8 @@ static int delete_item(char *fname, int +@@ -197,7 +314,8 @@ static int delete_item(char *fname, int pop_local_filters(save_filters); @@ -306,7 +306,7 @@ TODO: return 0; if (do_rmdir(fname) == 0) { -@@ -214,15 +332,19 @@ static int delete_item(char *fname, int +@@ -217,15 +335,19 @@ static int delete_item(char *fname, int * all the --delete-WHEN options. Note that the fbuf pointer must point to a * MAXPATHLEN buffer with the name of the directory in it (the functions we * call will append names onto the end, but the old dir value will be restored @@ -329,7 +329,7 @@ TODO: int dlen, i; if (!flist) { -@@ -236,6 +358,8 @@ static void delete_in_dir(struct file_li +@@ -239,6 +361,8 @@ static void delete_in_dir(struct file_li if (verbose > 2) rprintf(FINFO, "delete_in_dir(%s)\n", fbuf); @@ -338,7 +338,7 @@ TODO: if (allowed_lull) maybe_send_keepalive(); -@@ -243,12 +367,14 @@ static void delete_in_dir(struct file_li +@@ -246,12 +370,14 @@ static void delete_in_dir(struct file_li return; /* Impossible... */ if (io_error && !(lp_ignore_errors(module_id) || ignore_errors)) { @@ -358,7 +358,7 @@ TODO: } while (cur_depth >= file->dir.depth && cur_depth >= min_depth) -@@ -259,6 +385,9 @@ static void delete_in_dir(struct file_li +@@ -262,6 +388,9 @@ static void delete_in_dir(struct file_li dlen = strlen(fbuf); filt_array[cur_depth] = push_local_filters(fbuf, dlen); @@ -368,7 +368,7 @@ TODO: if (one_file_system) { if (file->flags & FLAG_TOP_DIR) filesystem_dev = stp->st_dev; -@@ -268,18 +397,30 @@ static void delete_in_dir(struct file_li +@@ -271,18 +400,30 @@ static void delete_in_dir(struct file_li dirlist = get_dirlist(fbuf, dlen, 0); @@ -401,7 +401,7 @@ TODO: flist_free(dirlist); } -@@ -309,9 +450,9 @@ static void do_delete_pass(struct file_l +@@ -312,9 +453,9 @@ static void do_delete_pass(struct file_l || !S_ISDIR(st.st_mode)) continue; @@ -413,30 +413,30 @@ TODO: if (do_progress && !am_server) rprintf(FINFO, " \r"); -@@ -771,6 +912,7 @@ static int try_dests_non(struct file_str - return -1; +@@ -843,6 +984,7 @@ static int try_dests_non(struct file_str + return j; } +static struct bitbag *delayed_bits = NULL; static int phase = 0; /* Acts on the_file_list->file's ndx'th item, whose name is fname. If a dir, -@@ -944,8 +1086,12 @@ static void recv_generator(char *fname, - && verbose && code != FNONE && f_out != -1) - rprintf(code, "%s/\n", fname); +@@ -1028,8 +1170,12 @@ static void recv_generator(char *fname, + if (real_ret != 0 && one_file_system) + real_st.st_dev = filesystem_dev; if (delete_during && f_out != -1 && !phase && dry_run < 2 - && (file->flags & FLAG_DEL_HERE)) -- delete_in_dir(the_file_list, fname, file, &st); +- delete_in_dir(the_file_list, fname, file, &real_st); + && (file->flags & FLAG_DEL_HERE)) { -+ if (detect_renamed && statret != 0) ++ if (detect_renamed && real_ret != 0) + unexplored_dirs++; -+ delete_in_dir(the_file_list, fname, file, &st, ++ delete_in_dir(the_file_list, fname, file, &real_st, + delete_during < 0 ? DEL_NO_DELETIONS : 0); + } return; } -@@ -1201,8 +1347,14 @@ static void recv_generator(char *fname, +@@ -1273,8 +1419,14 @@ static void recv_generator(char *fname, && hard_link_check(file, ndx, fname, statret, &st, itemizing, code, HL_SKIP)) return; @@ -452,7 +452,7 @@ TODO: rsyserr(FERROR, stat_errno, "recv_generator: failed to stat %s", full_fname(fname)); return; -@@ -1388,11 +1540,17 @@ void generate_files(int f_out, struct fi +@@ -1460,11 +1612,17 @@ void generate_files(int f_out, struct fi (long)getpid(), flist->count); } @@ -471,7 +471,7 @@ TODO: whole_file = 0; if (verbose >= 2) { rprintf(FINFO, "delta-transmission %s\n", -@@ -1447,7 +1605,23 @@ void generate_files(int f_out, struct fi +@@ -1519,7 +1677,23 @@ void generate_files(int f_out, struct fi } recv_generator(NULL, NULL, 0, 0, 0, code, -1); if (delete_during) -- 2.34.1