The patches for 3.0.3pre3.
[rsync/rsync-patches.git] / link-by-hash.diff
index 6c6ad1b..9460d71 100644 (file)
@@ -35,7 +35,7 @@ diff --git a/flist.c b/flist.c
  
  extern char curr_dir[MAXPATHLEN];
  
-@@ -830,7 +831,7 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -834,7 +835,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
@@ -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
-@@ -820,6 +820,14 @@ struct stats {
+@@ -825,6 +825,14 @@ struct stats {
        int num_transferred_files;
  };