X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/87a38eea930df6ee2db0da2017c30116117b1d4b..f2acdf8c9d3000cb9f69f2a66166e407c28e5a50:/early-checksum.diff diff --git a/early-checksum.diff b/early-checksum.diff index 1a84acc..4b72302 100644 --- a/early-checksum.diff +++ b/early-checksum.diff @@ -16,7 +16,7 @@ To use this patch, run these commands for a successful build: --- old/flist.c +++ new/flist.c -@@ -33,6 +33,7 @@ extern int am_sender; +@@ -33,6 +33,7 @@ extern int am_generator; extern int inc_recurse; extern int do_progress; extern int always_checksum; @@ -24,7 +24,7 @@ To use this patch, run these commands for a successful build: extern int module_id; extern int ignore_errors; extern int numeric_ids; -@@ -882,6 +883,15 @@ static struct file_struct *recv_file_ent +@@ -955,6 +956,15 @@ static struct file_struct *recv_file_ent memcpy(bp, F_SUM(first), checksum_len); } else read_buf(f, bp, checksum_len); @@ -50,7 +50,7 @@ To use this patch, run these commands for a successful build: extern int checksum_len; extern char *partial_dir; extern char *basis_dir[]; -@@ -590,7 +591,8 @@ void itemize(const char *fname, struct f +@@ -618,7 +619,8 @@ void itemize(const char *fnamecmp, struc /* Perform our quick-check heuristic for determining if a file is unchanged. */ @@ -60,7 +60,7 @@ To use this patch, run these commands for a successful build: { if (st->st_size != F_LENGTH(file)) return 0; -@@ -599,6 +601,8 @@ int unchanged_file(char *fn, struct file +@@ -627,6 +629,8 @@ int unchanged_file(char *fn, struct file of the file time to determine whether to sync */ if (always_checksum > 0 && S_ISREG(st->st_mode)) { char sum[MAX_DIGEST_LEN]; @@ -69,7 +69,7 @@ To use this patch, run these commands for a successful build: file_checksum(fn, sum, st->st_size); return memcmp(sum, F_SUM(file), checksum_len) == 0; } -@@ -819,7 +823,7 @@ static int try_dests_reg(struct file_str +@@ -847,7 +851,7 @@ static int try_dests_reg(struct file_str match_level = 1; /* FALL THROUGH */ case 1: @@ -78,7 +78,7 @@ To use this patch, run these commands for a successful build: continue; best_match = j; match_level = 2; -@@ -1524,7 +1528,7 @@ static void recv_generator(char *fname, +@@ -1575,7 +1579,7 @@ static void recv_generator(char *fname, ; else if (fnamecmp_type == FNAMECMP_FUZZY) ; @@ -89,7 +89,7 @@ To use this patch, run these commands for a successful build: handle_partial_dir(partialptr, PDIR_DELETE); --- old/hlink.c +++ new/hlink.c -@@ -384,7 +384,7 @@ int hard_link_check(struct file_struct * +@@ -392,7 +392,7 @@ int hard_link_check(struct file_struct * } break; } @@ -172,16 +172,16 @@ To use this patch, run these commands for a successful build: + if (pre_checksum) + pop_dir(olddir); + - if (flist && flist->count > 0) { + if (flist && flist->used > 0) { local_name = get_local_name(flist, argv[0]); --- old/rsync.h +++ new/rsync.h -@@ -70,6 +70,7 @@ - #define FLAG_HLINK_LAST (1<<7) /* receiver/generator */ +@@ -71,6 +71,7 @@ #define FLAG_HLINK_DONE (1<<8) /* receiver/generator */ #define FLAG_LENGTH64 (1<<9) /* sender/receiver/generator */ -+#define FLAG_SUM_DIFFERS (1<<10)/* receiver/generator */ + #define FLAG_SKIP_GROUP (1<<10) /* receiver/generator */ ++#define FLAG_SUM_DIFFERS (1<<11)/* receiver/generator */ /* These flags are passed to functions but not stored. */