X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/963ca80882dea2131e78563fa59e3e0e7c70c195..0ef5abcbbb95298fa9faf1d3eb275a9e76e1d951:/checksum-updating.diff diff --git a/checksum-updating.diff b/checksum-updating.diff index d8f98fc..195cdf6 100644 --- a/checksum-updating.diff +++ b/checksum-updating.diff @@ -423,7 +423,7 @@ diff --git a/flist.c b/flist.c else file_checksum(thisname, st.st_size, tmp_sum); } -@@ -1915,6 +2128,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len, +@@ -1898,6 +2111,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len, closedir(d); @@ -433,7 +433,7 @@ diff --git a/flist.c b/flist.c if (f >= 0 && recurse && !divert_dirs) { int i, end = flist->used - 1; /* send_if_directory() bumps flist->used, so use "end". */ -@@ -2512,6 +2728,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) +@@ -2495,6 +2711,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) } else flist_eof = 1; @@ -454,7 +454,7 @@ diff --git a/generator.c b/generator.c static const char *solo_file = NULL; /* For calling delete_item() and delete_dir_contents(). */ -@@ -723,7 +724,7 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st, int slot +@@ -726,7 +727,7 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st, int slot if (always_checksum > 0 && S_ISREG(st->st_mode)) { char sum[MAX_DIGEST_LEN]; if (checksum_files && slot >= 0) @@ -463,7 +463,7 @@ diff --git a/generator.c b/generator.c else file_checksum(fn, st->st_size, sum); return memcmp(sum, F_SUM(file), checksum_len) == 0; -@@ -1366,7 +1367,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, +@@ -1369,7 +1370,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, fuzzy_dirlist = get_dirlist(fnamecmpbuf, -1, 1); } if (checksum_files) { @@ -473,7 +473,7 @@ diff --git a/generator.c b/generator.c } need_new_dirscan = 0; } -@@ -1516,6 +1518,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, +@@ -1519,6 +1521,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, else change_local_filter_dir(fname, strlen(fname), F_DEPTH(file)); } @@ -481,7 +481,7 @@ diff --git a/generator.c b/generator.c goto cleanup; } -@@ -1808,6 +1811,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, +@@ -1811,6 +1814,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, handle_partial_dir(partialptr, PDIR_DELETE); } set_file_attrs(fname, file, &sx, NULL, maybe_ATTRS_REPORT); @@ -490,7 +490,7 @@ diff --git a/generator.c b/generator.c if (itemizing) itemize(fnamecmp, file, ndx, statret, &sx, 0, 0, NULL); #ifdef SUPPORT_HARD_LINKS -@@ -2249,6 +2254,7 @@ void generate_files(int f_out, const char *local_name) +@@ -2252,6 +2257,7 @@ void generate_files(int f_out, const char *local_name) } else change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp)); } @@ -498,7 +498,7 @@ diff --git a/generator.c b/generator.c } for (i = cur_flist->low; i <= cur_flist->high; i++) { struct file_struct *file = cur_flist->sorted[i]; -@@ -2335,6 +2341,9 @@ void generate_files(int f_out, const char *local_name) +@@ -2338,6 +2344,9 @@ void generate_files(int f_out, const char *local_name) wait_for_receiver(); } @@ -546,7 +546,7 @@ diff --git a/loadparm.c b/loadparm.c diff --git a/options.c b/options.c --- a/options.c +++ b/options.c -@@ -1233,7 +1233,15 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -1234,7 +1234,15 @@ int parse_arguments(int *argc_p, const char ***argv_p) case OPT_SUMFILES: arg = poptGetOptArg(pc); @@ -574,7 +574,7 @@ diff --git a/receiver.c b/receiver.c extern int inplace; extern int delay_updates; extern mode_t orig_umask; -@@ -340,7 +341,7 @@ static void handle_delayed_updates(char *local_name) +@@ -343,7 +344,7 @@ static void handle_delayed_updates(char *local_name) "rename failed for %s (from %s)", full_fname(fname), partialptr); } else { @@ -583,7 +583,7 @@ diff --git a/receiver.c b/receiver.c || (preserve_hard_links && F_IS_HLINKED(file))) send_msg_int(MSG_SUCCESS, ndx); handle_partial_dir(partialptr, PDIR_DELETE); -@@ -755,7 +756,7 @@ int recv_files(int f_in, char *local_name) +@@ -758,7 +759,7 @@ int recv_files(int f_in, char *local_name) case 2: break; case 1: @@ -607,7 +607,7 @@ diff --git a/rsync.h b/rsync.h diff --git a/rsync.yo b/rsync.yo --- a/rsync.yo +++ b/rsync.yo -@@ -544,9 +544,13 @@ computed just as it would be if bf(--sumfiles) was not specified. +@@ -548,9 +548,13 @@ computed just as it would be if bf(--sumfiles) was not specified. The MODE value is either "lax", for relaxed checking (which compares size and mtime), "strict" (which also compares ctime and inode), or "none" to