X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/bc3fcf1d39ca698386e09f1abc1a54178102e558..6ac9ce9a46c911cbaa7f3d1c33f49f595373622d:/link-by-hash.diff diff --git a/link-by-hash.diff b/link-by-hash.diff index 014b23e..5735941 100644 --- a/link-by-hash.diff +++ b/link-by-hash.diff @@ -27,7 +27,7 @@ diff --git a/Makefile.in b/Makefile.in diff --git a/flist.c b/flist.c --- a/flist.c +++ b/flist.c -@@ -70,6 +70,7 @@ extern int need_unsorted_flist; +@@ -71,6 +71,7 @@ extern int sender_symlink_iconv; extern int unsort_ndx; extern struct stats stats; extern char *filesfrom_host; @@ -35,7 +35,7 @@ diff --git a/flist.c b/flist.c extern char curr_dir[MAXPATHLEN]; -@@ -834,7 +835,7 @@ static struct file_struct *recv_file_entry(struct file_list *flist, +@@ -844,7 +845,7 @@ static struct file_struct *recv_file_entry(struct file_list *flist, extra_len += EXTRA_LEN; #endif @@ -43,7 +43,7 @@ diff --git a/flist.c b/flist.c + if ((always_checksum || link_by_hash_dir) && S_ISREG(mode)) extra_len += SUM_EXTRA_CNT * EXTRA_LEN; - if (file_length > 0xFFFFFFFFu && S_ISREG(mode)) + #if SIZEOF_INT64 >= 8 diff --git a/hashlink.c b/hashlink.c new file mode 100644 --- /dev/null @@ -443,7 +443,7 @@ diff --git a/options.c b/options.c default: /* A large opt value means that set_refuse_options() * turned this option off. */ -@@ -2023,6 +2041,11 @@ void server_options(char **args, int *argc_p) +@@ -2036,6 +2054,11 @@ void server_options(char **args, int *argc_p) } else if (inplace) args[ac++] = "--inplace"; @@ -540,7 +540,7 @@ diff --git a/rsync.c b/rsync.c extern struct file_list *cur_flist, *first_flist, *dir_flist; extern struct chmod_mode_struct *daemon_chmod_modes; #ifdef ICONV_OPTION -@@ -571,8 +572,15 @@ int finish_transfer(const char *fname, const char *fnametmp, +@@ -575,8 +576,15 @@ int finish_transfer(const char *fname, const char *fnametmp, /* move tmp file over real file */ if (verbose > 2) rprintf(FINFO, "renaming %s to %s\n", fnametmp, fname); @@ -561,7 +561,7 @@ diff --git a/rsync.c b/rsync.c diff --git a/rsync.h b/rsync.h --- a/rsync.h +++ b/rsync.h -@@ -824,6 +824,14 @@ struct stats { +@@ -830,6 +830,14 @@ struct stats { int num_transferred_files; };