The patches for 3.1.3. v3.1.3
authorWayne Davison <wayned@samba.org>
Sun, 28 Jan 2018 23:54:42 +0000 (15:54 -0800)
committerWayne Davison <wayned@samba.org>
Sun, 28 Jan 2018 23:54:42 +0000 (15:54 -0800)
39 files changed:
acls.diff
adaptec_acl_mods.diff
atimes.diff
backup-deleted.diff
catch_crash_signals.diff
checksum-reading.diff
checksum-updating.diff
checksum-xattr.diff
congestion.diff
copy-devices.diff
crtimes.diff
cvs-entries.diff
date-only.diff
db.diff
detect-renamed-lax.diff
detect-renamed.diff
direct-io.diff
downdate.diff
fileflags.diff
filter-attribute-mods.diff
fsync.diff
hfs-compression.diff
ignore-case.diff
kerberos.diff
link-by-hash.diff
nameconverter.diff
netgroup-auth.diff
omit-dir-changes.diff
slow-down.diff
slp.diff
soften-links.diff
source-backup.diff
source-filter_dest-filter.diff
sparse-block.diff
ssh-4-6-options.diff
time-limit.diff
transliterate.diff
tru64.diff
write-devices.diff

index b4e49ccfef301383f905fc26f204fe01bad03064..d0789fd69fbc2b74e7c428f82d645bc585f694f8 100644 (file)
--- a/acls.diff
+++ b/acls.diff
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/acls.c b/acls.c
 --- a/acls.c
 +++ b/acls.c
index e1a85f1fc95252183d608d27b95e6b7fe43f392e..057480d6028a75aa2c09072ce714f964b8d67665 100644 (file)
@@ -24,7 +24,7 @@ Todo:
 Fix a bug that could lose some bits when stripping some (supposedly)
 superfluous ACL info.
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/lib/sysacls.c b/lib/sysacls.c
 --- a/lib/sysacls.c
 +++ b/lib/sysacls.c
index e09c5d6a7852132aa7ed98ccb4d682d66d519c99..75e05aca41e7ee9e767b4f9a8e39e2ffb93f6d5c 100644 (file)
@@ -4,7 +4,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -124,7 +124,7 @@ diff --git a/flist.c b/flist.c
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
-@@ -504,6 +504,9 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -505,6 +505,9 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
                 : iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE) && !(iflags & ITEM_MATCHED)
                  && (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
                        iflags |= ITEM_REPORT_TIME;
@@ -134,7 +134,7 @@ diff --git a/generator.c b/generator.c
  #if !defined HAVE_LCHMOD && !defined HAVE_SETATTRLIST
                if (S_ISLNK(file->mode)) {
                        ;
-@@ -919,6 +922,8 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
+@@ -920,6 +923,8 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
                if (link_dest) {
                        if (!hard_link_one(file, fname, cmpbuf, 1))
                                goto try_a_copy;
@@ -143,7 +143,7 @@ diff --git a/generator.c b/generator.c
                        if (preserve_hard_links && F_IS_HLINKED(file))
                                finish_hard_link(file, fname, ndx, &sxp->st, itemizing, code, j);
                        if (!maybe_ATTRS_REPORT && (INFO_GTE(NAME, 2) || stdout_format_has_i > 1)) {
-@@ -1123,6 +1128,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
+@@ -1124,6 +1129,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
  static void list_file_entry(struct file_struct *f)
  {
        char permbuf[PERMSTRING_SIZE];
@@ -151,7 +151,7 @@ diff --git a/generator.c b/generator.c
        int64 len;
        int colwidth = human_readable ? 14 : 11;
  
-@@ -1138,10 +1144,12 @@ static void list_file_entry(struct file_struct *f)
+@@ -1139,10 +1145,12 @@ static void list_file_entry(struct file_struct *f)
  
  #ifdef SUPPORT_LINKS
        if (preserve_links && S_ISLNK(f->mode)) {
@@ -167,7 +167,7 @@ diff --git a/generator.c b/generator.c
        } else
  #endif
        if (missing_args == 2 && f->mode == 0) {
-@@ -1149,9 +1157,12 @@ static void list_file_entry(struct file_struct *f)
+@@ -1150,9 +1158,12 @@ static void list_file_entry(struct file_struct *f)
                        colwidth + 31, "*missing",
                        f_name(f, NULL));
        } else {
@@ -182,7 +182,7 @@ diff --git a/generator.c b/generator.c
        }
  }
  
-@@ -2065,8 +2076,11 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -2068,8 +2079,11 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
                        do_chmod(fname, file->mode);
                if (need_retouch_dir_times) {
                        STRUCT_STAT st;
@@ -297,7 +297,7 @@ diff --git a/rsync.c b/rsync.c
        if (!(flags & ATTRS_SKIP_MTIME)
         && (sxp->st.st_mtime != file->modtime
  #ifdef ST_MTIME_NSEC
-         || (NSEC_BUMP(file) && (uint32)sxp->st.ST_MTIME_NSEC != F_MOD_NSEC(file))
+         || (flags & ATTRS_SET_NANO && NSEC_BUMP(file) && (uint32)sxp->st.ST_MTIME_NSEC != F_MOD_NSEC(file))
  #endif
          )) {
 -              int ret = set_modtime(fname, file->modtime, F_MOD_NSEC(file), sxp->st.st_mode);
@@ -333,8 +333,8 @@ diff --git a/rsync.c b/rsync.c
  
        /* Change permissions before putting the file into place. */
        set_file_attrs(fnametmp, file, NULL, fnamecmp,
--                     ok_to_set_time ? 0 : ATTRS_SKIP_MTIME);
-+                     ok_to_set_time ? 0 : ATTRS_SKIP_MTIME | ATTRS_SKIP_ATIME);
+-                     ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME);
++                     ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME | ATTRS_SKIP_ATIME);
  
        /* move tmp file over real file */
        if (DEBUG_GTE(RECV, 1))
@@ -342,8 +342,8 @@ diff --git a/rsync.c b/rsync.c
  
    do_set_file_attrs:
        set_file_attrs(fnametmp, file, NULL, fnamecmp,
--                     ok_to_set_time ? 0 : ATTRS_SKIP_MTIME);
-+                     ok_to_set_time ? 0 : ATTRS_SKIP_MTIME | ATTRS_SKIP_ATIME);
+-                     ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME);
++                     ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME | ATTRS_SKIP_ATIME);
  
        if (temp_copy_name) {
                if (do_rename(fnametmp, fname) < 0) {
@@ -358,15 +358,15 @@ diff --git a/rsync.h b/rsync.h
  
  /* These flags are used in the live flist data. */
  
-@@ -165,6 +166,7 @@
+@@ -166,6 +167,7 @@
  #define ATTRS_REPORT          (1<<0)
  #define ATTRS_SKIP_MTIME      (1<<1)
-+#define ATTRS_SKIP_ATIME      (1<<2)
+ #define ATTRS_SET_NANO                (1<<2)
++#define ATTRS_SKIP_ATIME      (1<<3)
  
  #define FULL_FLUSH    1
  #define NORMAL_FLUSH  0
-@@ -715,12 +717,14 @@ extern int file_extra_cnt;
+@@ -716,12 +718,14 @@ extern int file_extra_cnt;
  extern int inc_recurse;
  extern int uid_ndx;
  extern int gid_ndx;
index 33ca8acff17e7e833e7ea380b59ed99d8873570c..1798a7f4cdbe38cbae547340caf4d97fddb8474a 100644 (file)
@@ -7,11 +7,11 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
-@@ -1797,7 +1797,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1800,7 +1800,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto notify_others;
  
        if (read_batch || whole_file) {
@@ -20,7 +20,7 @@ diff --git a/generator.c b/generator.c
                        if (!(backupptr = get_backup_name(fname)))
                                goto cleanup;
                        if (!(back_file = make_file(fname, NULL, NULL, 0, NO_FILTERS)))
-@@ -1833,7 +1833,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1836,7 +1836,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto notify_others;
        }
  
@@ -29,7 +29,7 @@ diff --git a/generator.c b/generator.c
                if (!(backupptr = get_backup_name(fname))) {
                        close(fd);
                        goto cleanup;
-@@ -1957,7 +1957,7 @@ int atomic_create(struct file_struct *file, char *fname, const char *slnk, const
+@@ -1960,7 +1960,7 @@ int atomic_create(struct file_struct *file, char *fname, const char *slnk, const
                skip_atomic = 0;
  
        if (del_for_flag) {
index be75bd9119303a01e2166e7683068f03b0005f0e..30c89f4d0fe30ffc4e425e099e7d9e86937d7853 100644 (file)
@@ -25,7 +25,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                  (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/errcode.h b/errcode.h
 --- a/errcode.h
 +++ b/errcode.h
index 0ccaa6cd17a5dadd4ba5dae4f78ab27434838942..134637e4a155e026ab1f8c58977a25dc830498de 100644 (file)
@@ -16,7 +16,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
@@ -463,7 +463,7 @@ diff --git a/generator.c b/generator.c
  extern int remove_source_files;
  extern int delay_updates;
  extern int update_only;
-@@ -573,7 +574,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -574,7 +575,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
  
  
  /* Perform our quick-check heuristic for determining if a file is unchanged. */
@@ -472,7 +472,7 @@ diff --git a/generator.c b/generator.c
  {
        if (st->st_size != F_LENGTH(file))
                return 0;
-@@ -582,7 +583,10 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
+@@ -583,7 +584,10 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
           of the file time to determine whether to sync */
        if (always_checksum > 0 && S_ISREG(st->st_mode)) {
                char sum[MAX_DIGEST_LEN];
@@ -484,7 +484,7 @@ diff --git a/generator.c b/generator.c
                return memcmp(sum, F_SUM(file), flist_csum_len) == 0;
        }
  
-@@ -881,7 +885,7 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
+@@ -882,7 +886,7 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
                        match_level = 1;
                        /* FALL THROUGH */
                case 1:
@@ -493,7 +493,7 @@ diff --git a/generator.c b/generator.c
                                continue;
                        best_match = j;
                        match_level = 2;
-@@ -1188,7 +1192,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1189,7 +1193,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
         * --ignore-non-existing, daemon exclude, or mkdir failure. */
        static struct file_struct *skip_dir = NULL;
        static struct file_list *fuzzy_dirlist[MAX_BASIS_DIRS+1];
@@ -502,7 +502,7 @@ diff --git a/generator.c b/generator.c
        struct file_struct *fuzzy_file = NULL;
        int fd = -1, f_copy = -1;
        stat_x sx, real_sx;
-@@ -1291,8 +1295,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1294,8 +1298,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                                fuzzy_dirlist[i] = NULL;
                                        }
                                }
@@ -514,7 +514,7 @@ diff --git a/generator.c b/generator.c
  #ifdef SUPPORT_ACLS
                        if (!preserve_perms)
                                dflt_perms = default_perms_for_dir(dn);
-@@ -1300,7 +1305,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1303,7 +1308,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                }
                parent_dirname = dn;
  
@@ -523,7 +523,7 @@ diff --git a/generator.c b/generator.c
                        int i;
                        strlcpy(fnamecmpbuf, dn, sizeof fnamecmpbuf);
                        for (i = 0; i < fuzzy_basis; i++) {
-@@ -1312,7 +1317,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1315,7 +1320,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                        fuzzy_dirlist[i] = NULL;
                                }
                        }
@@ -535,7 +535,7 @@ diff --git a/generator.c b/generator.c
                }
  
                statret = link_stat(fname, &sx.st, keep_dirlinks && is_dir);
-@@ -1757,7 +1765,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1760,7 +1768,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                ;
        else if (fnamecmp_type >= FNAMECMP_FUZZY)
                ;
@@ -694,7 +694,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -778,6 +778,10 @@ extern int xattrs_ndx;
+@@ -779,6 +779,10 @@ extern int xattrs_ndx;
  #define F_SUM(f) ((char*)OPT_EXTRA(f, START_BUMP(f) + HLINK_BUMP(f) \
                                    + SUM_EXTRA_CNT - 1))
  
@@ -705,7 +705,7 @@ diff --git a/rsync.h b/rsync.h
  /* Some utility defines: */
  #define F_IS_ACTIVE(f) (f)->basename[0]
  #define F_IS_HLINKED(f) ((f)->flags & FLAG_HLINKED)
-@@ -980,6 +984,13 @@ typedef struct {
+@@ -981,6 +985,13 @@ typedef struct {
        char fname[1]; /* has variable size */
  } relnamecache;
  
index 2312e95efe7adc3f71b35ab7a3aa57f2c34548b6..82ea45c8e8c9b8769af5e4a01eaf0dd049ba7b93 100644 (file)
@@ -447,7 +447,7 @@ diff --git a/flist.c b/flist.c
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
-@@ -110,6 +110,7 @@ static int dir_tweaking;
+@@ -111,6 +111,7 @@ static int dir_tweaking;
  static int symlink_timeset_failed_flags;
  static int need_retouch_dir_times;
  static int need_retouch_dir_perms;
@@ -455,7 +455,7 @@ diff --git a/generator.c b/generator.c
  static const char *solo_file = NULL;
  
  enum nonregtype {
-@@ -584,7 +585,7 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st, int slot
+@@ -585,7 +586,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)
@@ -464,7 +464,7 @@ diff --git a/generator.c b/generator.c
                else
                        file_checksum(fn, st, sum);
                return memcmp(sum, F_SUM(file), flist_csum_len) == 0;
-@@ -1318,7 +1319,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1321,7 +1322,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                }
                        }
                        if (checksum_files) {
@@ -474,7 +474,7 @@ diff --git a/generator.c b/generator.c
                        }
                        need_new_dirscan = 0;
                }
-@@ -1492,6 +1494,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1495,6 +1497,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        else
                                change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
                }
@@ -482,16 +482,16 @@ diff --git a/generator.c b/generator.c
                prior_dir_file = file;
                goto cleanup;
        }
-@@ -1771,6 +1774,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1774,6 +1777,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);
+               set_file_attrs(fname, file, &sx, NULL, maybe_ATTRS_REPORT | maybe_ATTRS_SET_NANO);
 +              if (checksum_files & CSF_UPDATE)
 +                      set_cached_checksum(cur_flist, file);
                if (itemizing)
                        itemize(fnamecmp, file, ndx, statret, &sx, 0, 0, NULL);
  #ifdef SUPPORT_HARD_LINKS
-@@ -2264,6 +2269,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2267,6 +2272,7 @@ void generate_files(int f_out, const char *local_name)
                                } else
                                        change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
                        }
@@ -499,7 +499,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];
-@@ -2358,6 +2364,9 @@ void generate_files(int f_out, const char *local_name)
+@@ -2361,6 +2367,9 @@ void generate_files(int f_out, const char *local_name)
                        wait_for_receiver();
        }
  
@@ -596,7 +596,7 @@ diff --git a/receiver.c b/receiver.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -986,6 +986,8 @@ typedef struct {
+@@ -987,6 +987,8 @@ typedef struct {
  
  #define CSF_ENABLE (1<<1)
  #define CSF_LAX (1<<2)
index 9f4872d8a7f9df158cd71da6f7e4b190ce90a5bc..4cad3d41d8d61600e3dc4d7f72ee86eb628c1d3e 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -25,7 +25,7 @@ diff --git a/flist.c b/flist.c
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
-@@ -582,7 +582,8 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
+@@ -583,7 +583,8 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
           of the file time to determine whether to sync */
        if (always_checksum > 0 && S_ISREG(st->st_mode)) {
                char sum[MAX_DIGEST_LEN];
index 9e863f1303ff7721dbcaadc71c7502518627bf97..743929082bfd4e853973442c01308dee7dc344f6 100644 (file)
@@ -27,7 +27,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/loadparm.c b/loadparm.c
 --- a/loadparm.c
 +++ b/loadparm.c
index e408cd73ef429e891c9c8e050bb7287df8b4a7fa..8a25331bf77ce4bb23dc6f3ebadedfaaf4afc313 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -20,7 +20,7 @@ diff --git a/generator.c b/generator.c
  extern int preserve_specials;
  extern int preserve_hard_links;
  extern int preserve_executability;
-@@ -1654,7 +1655,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1657,7 +1658,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto cleanup;
        }
  
index fc51eceb922b134374de2ad500b4aa6307b95cb5..178ae05ff854b57fe36e91c938b2959c3a0ed963 100644 (file)
@@ -140,7 +140,7 @@ diff --git a/generator.c b/generator.c
  extern int preserve_hard_links;
  extern int preserve_executability;
  extern int preserve_fileflags;
-@@ -393,6 +394,16 @@ static inline int time_diff(STRUCT_STAT *stp, struct file_struct *file)
+@@ -394,6 +395,16 @@ static inline int time_diff(STRUCT_STAT *stp, struct file_struct *file)
  #endif
  }
  
@@ -157,7 +157,7 @@ diff --git a/generator.c b/generator.c
  static inline int perms_differ(struct file_struct *file, stat_x *sxp)
  {
        if (preserve_perms)
-@@ -447,7 +458,7 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
+@@ -448,7 +459,7 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
  {
        if (S_ISLNK(file->mode)) {
  #ifdef CAN_SET_SYMLINK_TIMES
@@ -166,7 +166,7 @@ diff --git a/generator.c b/generator.c
                        return 0;
  #endif
  #ifdef CAN_CHMOD_SYMLINK
-@@ -467,7 +478,7 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
+@@ -468,7 +479,7 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
                        return 0;
  #endif
        } else {
@@ -175,7 +175,7 @@ diff --git a/generator.c b/generator.c
                        return 0;
                if (perms_differ(file, sxp))
                        return 0;
-@@ -510,6 +521,12 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -511,6 +522,12 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
                 : iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE) && !(iflags & ITEM_MATCHED)
                  && (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
                        iflags |= ITEM_REPORT_TIME;
@@ -188,7 +188,7 @@ diff --git a/generator.c b/generator.c
  #if !defined HAVE_LCHMOD && !defined HAVE_SETATTRLIST
                if (S_ISLNK(file->mode)) {
                        ;
-@@ -1134,6 +1151,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
+@@ -1135,6 +1152,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
  static void list_file_entry(struct file_struct *f)
  {
        char permbuf[PERMSTRING_SIZE];
@@ -196,7 +196,7 @@ diff --git a/generator.c b/generator.c
        int64 len;
        int colwidth = human_readable ? 14 : 11;
  
-@@ -1149,10 +1167,12 @@ static void list_file_entry(struct file_struct *f)
+@@ -1150,10 +1168,12 @@ static void list_file_entry(struct file_struct *f)
  
  #ifdef SUPPORT_LINKS
        if (preserve_links && S_ISLNK(f->mode)) {
@@ -212,7 +212,7 @@ diff --git a/generator.c b/generator.c
        } else
  #endif
        if (missing_args == 2 && f->mode == 0) {
-@@ -1160,9 +1180,12 @@ static void list_file_entry(struct file_struct *f)
+@@ -1161,9 +1181,12 @@ static void list_file_entry(struct file_struct *f)
                        colwidth + 31, "*missing",
                        f_name(f, NULL));
        } else {
@@ -227,7 +227,7 @@ diff --git a/generator.c b/generator.c
        }
  }
  
-@@ -1255,6 +1278,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1258,6 +1281,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        return;
                }
        }
@@ -350,8 +350,8 @@ diff --git a/rsync.c b/rsync.c
        /* Change permissions before putting the file into place. */
        set_file_attrs(fnametmp, file, NULL, fnamecmp,
                       ATTRS_DELAY_IMMUTABLE
--                     | (ok_to_set_time ? 0 : ATTRS_SKIP_MTIME));
-+                     | (ok_to_set_time ? 0 : ATTRS_SKIP_MTIME | ATTRS_SKIP_CRTIME));
+-                     | (ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME));
++                     | (ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME | ATTRS_SKIP_CRTIME));
  
        /* move tmp file over real file */
        if (DEBUG_GTE(RECV, 1))
@@ -359,8 +359,8 @@ diff --git a/rsync.c b/rsync.c
  
    do_set_file_attrs:
        set_file_attrs(fnametmp, file, NULL, fnamecmp,
--                     ok_to_set_time ? 0 : ATTRS_SKIP_MTIME);
-+                     ok_to_set_time ? 0 : ATTRS_SKIP_MTIME | ATTRS_SKIP_CRTIME);
+-                     ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME);
++                     ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME | ATTRS_SKIP_CRTIME);
  
        if (temp_copy_name) {
                if (do_rename(fnametmp, fname) < 0) {
@@ -377,15 +377,15 @@ diff --git a/rsync.h b/rsync.h
  
  /* These flags are used in the live flist data. */
  
-@@ -167,6 +168,7 @@
- #define ATTRS_REPORT          (1<<0)
+@@ -168,6 +169,7 @@
  #define ATTRS_SKIP_MTIME      (1<<1)
- #define ATTRS_DELAY_IMMUTABLE (1<<2)
-+#define ATTRS_SKIP_CRTIME     (1<<3)
+ #define ATTRS_SET_NANO                (1<<2)
+ #define ATTRS_DELAY_IMMUTABLE (1<<4)
++#define ATTRS_SKIP_CRTIME     (1<<5)
  
  #define FULL_FLUSH    1
  #define NORMAL_FLUSH  0
-@@ -183,7 +185,7 @@
+@@ -184,7 +186,7 @@
  #define FNAMECMP_FUZZY                0x83
  
  /* For use by the itemize_changes code */
@@ -394,7 +394,7 @@ diff --git a/rsync.h b/rsync.h
  #define ITEM_REPORT_CHANGE (1<<1)
  #define ITEM_REPORT_SIZE (1<<2)     /* regular files only */
  #define ITEM_REPORT_TIMEFAIL (1<<2) /* symlinks only */
-@@ -740,6 +742,7 @@ extern int file_extra_cnt;
+@@ -741,6 +743,7 @@ extern int file_extra_cnt;
  extern int inc_recurse;
  extern int uid_ndx;
  extern int gid_ndx;
@@ -402,7 +402,7 @@ diff --git a/rsync.h b/rsync.h
  extern int fileflags_ndx;
  extern int acls_ndx;
  extern int xattrs_ndx;
-@@ -747,6 +750,7 @@ extern int xattrs_ndx;
+@@ -748,6 +751,7 @@ extern int xattrs_ndx;
  #define FILE_STRUCT_LEN (offsetof(struct file_struct, basename))
  #define EXTRA_LEN (sizeof (union file_extras))
  #define PTR_EXTRA_CNT ((sizeof (char *) + EXTRA_LEN - 1) / EXTRA_LEN)
@@ -410,7 +410,7 @@ diff --git a/rsync.h b/rsync.h
  #define DEV_EXTRA_CNT 2
  #define DIRNODE_EXTRA_CNT 3
  #define SUM_EXTRA_CNT ((MAX_DIGEST_LEN + EXTRA_LEN - 1) / EXTRA_LEN)
-@@ -1032,6 +1036,7 @@ typedef struct {
+@@ -1033,6 +1037,7 @@ typedef struct {
  
  typedef struct {
      STRUCT_STAT st;
index aaa6dd3874681d24b1540bbef7bb3d3b5e75ba9e..03d583f8bf02c23eba64a2132c85e31a1c5785a6 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
index 1a080a17c5614a779b8b2b0779eb647c8de49743..82751ed224af969583cc3b147ec12a8a63c84b41 100644 (file)
@@ -14,7 +14,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -26,7 +26,7 @@ diff --git a/generator.c b/generator.c
  extern int size_only;
  extern OFF_T max_size;
  extern OFF_T min_size;
-@@ -575,6 +576,9 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -576,6 +577,9 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
  /* Perform our quick-check heuristic for determining if a file is unchanged. */
  int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
  {
diff --git a/db.diff b/db.diff
index b7c479d48bb0a7ac7deb50827d069e89734cd6b7..b3806fb68d1ce085aaf1c0dab5ea2fc87d6787ef 100644 (file)
--- a/db.diff
+++ b/db.diff
@@ -21,7 +21,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/.gitignore b/.gitignore
 --- a/.gitignore
 +++ b/.gitignore
@@ -2285,7 +2285,7 @@ diff --git a/generator.c b/generator.c
  extern int append_mode;
  extern int make_backups;
  extern int csum_length;
-@@ -582,7 +583,8 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
+@@ -583,7 +584,8 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
           of the file time to determine whether to sync */
        if (always_checksum > 0 && S_ISREG(st->st_mode)) {
                char sum[MAX_DIGEST_LEN];
@@ -2295,7 +2295,7 @@ diff --git a/generator.c b/generator.c
                return memcmp(sum, F_SUM(file), flist_csum_len) == 0;
        }
  
-@@ -2225,6 +2227,13 @@ void generate_files(int f_out, const char *local_name)
+@@ -2228,6 +2230,13 @@ void generate_files(int f_out, const char *local_name)
                        : "enabled");
        }
  
@@ -2309,7 +2309,7 @@ diff --git a/generator.c b/generator.c
        dflt_perms = (ACCESSPERMS & ~orig_umask);
  
        do {
-@@ -2350,6 +2359,9 @@ void generate_files(int f_out, const char *local_name)
+@@ -2353,6 +2362,9 @@ void generate_files(int f_out, const char *local_name)
                        wait_for_receiver();
        }
  
@@ -2915,7 +2915,7 @@ diff --git a/rsync.c b/rsync.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -241,12 +241,16 @@ enum msgcode {
+@@ -242,12 +242,16 @@ enum msgcode {
        MSG_IO_ERROR=22,/* the sending side had an I/O error */
        MSG_IO_TIMEOUT=33,/* tell client about a daemon's timeout value */
        MSG_NOOP=42,    /* a do-nothing message (legacy protocol-30 only) */
@@ -2932,7 +2932,7 @@ diff --git a/rsync.h b/rsync.h
  #define NDX_DONE -1
  #define NDX_FLIST_EOF -2
  #define NDX_DEL_STATS -3
-@@ -1267,7 +1271,8 @@ extern short info_levels[], debug_levels[];
+@@ -1268,7 +1272,8 @@ extern short info_levels[], debug_levels[];
  #define DEBUG_CHDIR (DEBUG_BIND+1)
  #define DEBUG_CONNECT (DEBUG_CHDIR+1)
  #define DEBUG_CMD (DEBUG_CONNECT+1)
index 930d7c829ac8c58d8e4019bd509e5ceed86f03f7..1a4a4637ccb7ef794baa6c1398155784f10e764b 100644 (file)
@@ -24,7 +24,7 @@ based-on: patch/master/detect-renamed
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
-@@ -463,7 +463,9 @@ static int fattr_find(struct file_struct *f, char *fname)
+@@ -464,7 +464,9 @@ static int fattr_find(struct file_struct *f, char *fname)
                                continue;
                        }
                }
@@ -35,7 +35,7 @@ diff --git a/generator.c b/generator.c
                diff = u_strcmp(fmid->basename, f->basename);
                if (diff == 0) {
                        good_match = mid;
-@@ -1942,6 +1944,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1945,6 +1947,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                fnamecmp = partialptr;
                fnamecmp_type = FNAMECMP_PARTIAL_DIR;
                statret = 0;
index 200cc6f64b8a8128e549b5ebba52f64843c170f0..9ca3ce7f5bd4c0776d4d698bd99105044293836b 100644 (file)
@@ -38,7 +38,7 @@ TODO:
   a file that can't use it, while missing out on giving it to a file
   that could use it.
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/backup.c b/backup.c
 --- a/backup.c
 +++ b/backup.c
@@ -232,20 +232,21 @@ diff --git a/generator.c b/generator.c
  extern int whole_file;
  extern int list_only;
  extern int read_batch;
-@@ -97,10 +98,12 @@ extern char *tmpdir;
+@@ -97,11 +98,13 @@ extern char *tmpdir;
  extern char *basis_dir[MAX_BASIS_DIRS+1];
  extern struct file_list *cur_flist, *first_flist, *dir_flist;
  extern filter_rule_list filter_list, daemon_filter_list;
 +extern struct file_list the_fattr_list;
  
  int maybe_ATTRS_REPORT = 0;
+ int maybe_ATTRS_SET_NANO = 0;
  
  static dev_t dev_zero;
 +static int unexplored_dirs = 1;
  static int deldelay_size = 0, deldelay_cnt = 0;
  static char *deldelay_buf = NULL;
  static int deldelay_fd = -1;
-@@ -271,13 +274,18 @@ static void do_delayed_deletions(char *delbuf)
+@@ -272,13 +275,18 @@ static void do_delayed_deletions(char *delbuf)
   * 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
@@ -268,7 +269,7 @@ diff --git a/generator.c b/generator.c
  
        if (!fbuf) {
                change_local_filter_dir(NULL, 0, 0);
-@@ -291,17 +299,22 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
+@@ -292,17 +300,22 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
                maybe_send_keepalive(time(NULL), MSK_ALLOW_FLUSH);
  
        if (io_error & IOERR_GENERAL && !ignore_errors) {
@@ -296,7 +297,7 @@ diff --git a/generator.c b/generator.c
        if (one_file_system) {
                if (file->flags & FLAG_TOP_DIR)
                        filesystem_dev = *fs_dev;
-@@ -311,6 +324,14 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
+@@ -312,6 +325,14 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
  
        dirlist = get_dirlist(fbuf, dlen, 0);
  
@@ -311,7 +312,7 @@ diff --git a/generator.c b/generator.c
        /* If an item in dirlist is not found in flist, delete it
         * from the filesystem. */
        for (i = dirlist->used; i--; ) {
-@@ -323,6 +344,10 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
+@@ -324,6 +345,10 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
                                        f_name(fp, NULL));
                        continue;
                }
@@ -322,7 +323,7 @@ diff --git a/generator.c b/generator.c
                /* Here we want to match regardless of file type.  Replacement
                 * of a file with one of another type is handled separately by
                 * a delete_item call with a DEL_MAKE_ROOM flag. */
-@@ -331,14 +356,19 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
+@@ -332,14 +357,19 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
                        if (!(fp->mode & S_IWUSR) && !am_root && fp->flags & FLAG_OWNED_BY_US)
                                flags |= DEL_NO_UID_WRITE;
                        f_name(fp, delbuf);
@@ -346,7 +347,7 @@ diff --git a/generator.c b/generator.c
        flist_free(dirlist);
  }
  
-@@ -374,14 +404,125 @@ static void do_delete_pass(void)
+@@ -375,14 +405,125 @@ static void do_delete_pass(void)
                 || !S_ISDIR(st.st_mode))
                        continue;
  
@@ -474,7 +475,7 @@ diff --git a/generator.c b/generator.c
  static inline int time_diff(STRUCT_STAT *stp, struct file_struct *file)
  {
  #ifdef ST_MTIME_NSEC
-@@ -1155,6 +1296,7 @@ static void list_file_entry(struct file_struct *f)
+@@ -1156,6 +1297,7 @@ static void list_file_entry(struct file_struct *f)
        }
  }
  
@@ -482,7 +483,7 @@ diff --git a/generator.c b/generator.c
  static int phase = 0;
  static int dflt_perms;
  
-@@ -1277,7 +1419,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1280,7 +1422,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                         && do_stat(dn, &sx.st) < 0) {
                                if (dry_run)
                                        goto parent_is_dry_missing;
@@ -491,7 +492,7 @@ diff --git a/generator.c b/generator.c
                                        rsyserr(FERROR_XFER, errno,
                                                "recv_generator: mkdir %s failed",
                                                full_fname(dn));
-@@ -1430,7 +1572,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1433,7 +1575,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                }
                if (real_ret != 0 && do_mkdir(fname,file->mode|added_perms) < 0 && errno != EEXIST) {
                        if (!relative_paths || errno != ENOENT
@@ -500,7 +501,7 @@ diff --git a/generator.c b/generator.c
                         || (do_mkdir(fname, file->mode|added_perms) < 0 && errno != EEXIST)) {
                                rsyserr(FERROR_XFER, errno,
                                        "recv_generator: mkdir %s failed",
-@@ -1479,9 +1621,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1482,9 +1624,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                }
                else if (delete_during && f_out != -1 && !phase
                    && !(file->flags & FLAG_MISSING_DIR)) {
@@ -516,7 +517,7 @@ diff --git a/generator.c b/generator.c
                                change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
                }
                prior_dir_file = file;
-@@ -1746,8 +1891,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1749,8 +1894,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        goto cleanup;
                }
  #endif
@@ -532,7 +533,7 @@ diff --git a/generator.c b/generator.c
                rsyserr(FERROR_XFER, stat_errno, "recv_generator: failed to stat %s",
                        full_fname(fname));
                goto cleanup;
-@@ -2206,6 +2357,12 @@ void generate_files(int f_out, const char *local_name)
+@@ -2209,6 +2360,12 @@ void generate_files(int f_out, const char *local_name)
        if (DEBUG_GTE(GENR, 1))
                rprintf(FINFO, "generator starting pid=%d\n", (int)getpid());
  
@@ -545,7 +546,7 @@ diff --git a/generator.c b/generator.c
        if (delete_before && !solo_file && cur_flist->used > 0)
                do_delete_pass();
        if (delete_during == 2) {
-@@ -2216,7 +2373,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2219,7 +2376,7 @@ void generate_files(int f_out, const char *local_name)
        }
        info_levels[INFO_FLIST] = info_levels[INFO_PROGRESS] = 0;
  
@@ -554,7 +555,7 @@ diff --git a/generator.c b/generator.c
                whole_file = 0;
        if (DEBUG_GTE(FLIST, 1)) {
                rprintf(FINFO, "delta-transmission %s\n",
-@@ -2252,7 +2409,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2255,7 +2412,7 @@ void generate_files(int f_out, const char *local_name)
                                                dirdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
                                        } else
                                                dirdev = MAKEDEV(0, 0);
@@ -563,7 +564,7 @@ diff --git a/generator.c b/generator.c
                                } else
                                        change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
                        }
-@@ -2299,7 +2456,21 @@ void generate_files(int f_out, const char *local_name)
+@@ -2302,7 +2459,21 @@ void generate_files(int f_out, const char *local_name)
        } while ((cur_flist = cur_flist->next) != NULL);
  
        if (delete_during)
@@ -654,7 +655,7 @@ diff --git a/receiver.c b/receiver.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -252,7 +252,7 @@ enum msgcode {
+@@ -253,7 +253,7 @@ enum msgcode {
  #define NDX_DEL_STATS -3
  #define NDX_FLIST_OFFSET -101
  
@@ -663,7 +664,7 @@ diff --git a/rsync.h b/rsync.h
  #define DEL_NO_UID_WRITE      (1<<0) /* file/dir has our uid w/o write perm */
  #define DEL_RECURSE           (1<<1) /* if dir, delete all contents */
  #define DEL_DIR_IS_EMPTY      (1<<2) /* internal delete_FUNCTIONS use only */
-@@ -262,6 +262,7 @@ enum msgcode {
+@@ -263,6 +263,7 @@ enum msgcode {
  #define DEL_FOR_DEVICE                (1<<6) /* making room for a replacement device */
  #define DEL_FOR_SPECIAL       (1<<7) /* making room for a replacement special */
  #define DEL_FOR_BACKUP                (1<<8) /* the delete is for a backup operation */
index 74889400ddb20f28818c8cc5c3ec60f6715f793d..d449ecf0d9292f475e78c99fb86e87592da2b42b 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
index 5e543bc1f9fd3a2e9dc208a0b9b862bc3811aa33..ddf6e6f14b2ca997e5afd42eb506fd4a546f985a 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -19,7 +19,7 @@ diff --git a/generator.c b/generator.c
  extern int human_readable;
  extern int ignore_existing;
  extern int ignore_non_existing;
-@@ -1688,6 +1689,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1691,6 +1692,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto cleanup;
        }
  
@@ -32,7 +32,7 @@ diff --git a/generator.c b/generator.c
        fnamecmp_type = FNAMECMP_FNAME;
  
        if (statret == 0 && !S_ISREG(sx.st.st_mode)) {
-@@ -2112,6 +2119,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
+@@ -2115,6 +2122,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
                        ignore_existing = -ignore_existing;
                        ignore_non_existing = -ignore_non_existing;
                        update_only = -update_only;
@@ -40,7 +40,7 @@ diff --git a/generator.c b/generator.c
                        always_checksum = -always_checksum;
                        size_only = -size_only;
                        append_mode = -append_mode;
-@@ -2137,6 +2145,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
+@@ -2140,6 +2148,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
                        ignore_existing = -ignore_existing;
                        ignore_non_existing = -ignore_non_existing;
                        update_only = -update_only;
index 6a08207dab22c6d05d621e80e103c307fb0f0595..0eb62472c3f52f0d7db5b4542345a1ec4473a811 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -234,7 +234,7 @@ diff --git a/generator.c b/generator.c
  extern int delete_mode;
  extern int delete_before;
  extern int delete_during;
-@@ -469,6 +471,10 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
+@@ -470,6 +472,10 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
                        return 0;
                if (perms_differ(file, sxp))
                        return 0;
@@ -245,7 +245,7 @@ diff --git a/generator.c b/generator.c
                if (ownership_differs(file, sxp))
                        return 0;
  #ifdef SUPPORT_ACLS
-@@ -520,6 +526,11 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -521,6 +527,11 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
                if (gid_ndx && !(file->flags & FLAG_SKIP_GROUP)
                    && sxp->st.st_gid != (gid_t)F_GROUP(file))
                        iflags |= ITEM_REPORT_GROUP;
@@ -257,7 +257,7 @@ diff --git a/generator.c b/generator.c
  #ifdef SUPPORT_ACLS
                if (preserve_acls && !S_ISLNK(file->mode)) {
                        if (!ACL_READY(*sxp))
-@@ -1412,6 +1423,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1415,6 +1426,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        file->mode = dest_mode(file->mode, sx.st.st_mode,
                                               dflt_perms, statret == 0);
                }
@@ -268,7 +268,7 @@ diff --git a/generator.c b/generator.c
                if (statret != 0 && basis_dir[0] != NULL) {
                        int j = try_dests_non(file, fname, ndx, fnamecmpbuf, &sx,
                                              itemizing, code);
-@@ -1456,10 +1471,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1459,10 +1474,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                 * readable and writable permissions during the time we are
                 * putting files within them.  This is then restored to the
                 * former permissions after the transfer is done. */
@@ -285,7 +285,7 @@ diff --git a/generator.c b/generator.c
                                rsyserr(FERROR_XFER, errno,
                                        "failed to modify permissions on %s",
                                        full_fname(fname));
-@@ -1495,6 +1515,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1498,6 +1518,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                file->mode = dest_mode(file->mode, sx.st.st_mode, dflt_perms,
                                       exists);
        }
@@ -296,7 +296,7 @@ diff --git a/generator.c b/generator.c
  
  #ifdef SUPPORT_HARD_LINKS
        if (preserve_hard_links && F_HLINK_NOT_FIRST(file)
-@@ -2062,12 +2086,16 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -2065,12 +2089,16 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
                        continue;
                fname = f_name(file, NULL);
                if (fix_dir_perms)
@@ -557,7 +557,7 @@ diff --git a/rsync.c b/rsync.c
                                 * or gid unless have the privilege. */
                                rsyserr(FERROR_XFER, errno, "%s %s failed",
 @@ -559,7 +593,7 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
-         || (NSEC_BUMP(file) && (uint32)sxp->st.ST_MTIME_NSEC != F_MOD_NSEC(file))
+         || (flags & ATTRS_SET_NANO && NSEC_BUMP(file) && (uint32)sxp->st.ST_MTIME_NSEC != F_MOD_NSEC(file))
  #endif
          )) {
 -              int ret = set_modtime(fname, file->modtime, F_MOD_NSEC(file), sxp->st.st_mode);
@@ -598,9 +598,9 @@ diff --git a/rsync.c b/rsync.c
  
        /* Change permissions before putting the file into place. */
        set_file_attrs(fnametmp, file, NULL, fnamecmp,
--                     ok_to_set_time ? 0 : ATTRS_SKIP_MTIME);
+-                     ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME);
 +                     ATTRS_DELAY_IMMUTABLE
-+                     | (ok_to_set_time ? 0 : ATTRS_SKIP_MTIME));
++                     | (ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME));
  
        /* move tmp file over real file */
        if (DEBUG_GTE(RECV, 1))
@@ -626,15 +626,15 @@ diff --git a/rsync.h b/rsync.h
  
  /* These flags are used in the live flist data. */
  
-@@ -165,6 +166,7 @@
+@@ -166,6 +167,7 @@
  #define ATTRS_REPORT          (1<<0)
  #define ATTRS_SKIP_MTIME      (1<<1)
-+#define ATTRS_DELAY_IMMUTABLE (1<<2)
+ #define ATTRS_SET_NANO                (1<<2)
++#define ATTRS_DELAY_IMMUTABLE (1<<4)
  
  #define FULL_FLUSH    1
  #define NORMAL_FLUSH  0
-@@ -191,6 +193,7 @@
+@@ -192,6 +194,7 @@
  #define ITEM_REPORT_GROUP (1<<6)
  #define ITEM_REPORT_ACL (1<<7)
  #define ITEM_REPORT_XATTR (1<<8)
@@ -642,7 +642,7 @@ diff --git a/rsync.h b/rsync.h
  #define ITEM_BASIS_TYPE_FOLLOWS (1<<11)
  #define ITEM_XNAME_FOLLOWS (1<<12)
  #define ITEM_IS_NEW (1<<13)
-@@ -528,6 +531,28 @@ typedef unsigned int size_t;
+@@ -529,6 +532,28 @@ typedef unsigned int size_t;
  #endif
  #endif
  
@@ -671,7 +671,7 @@ diff --git a/rsync.h b/rsync.h
  /* Find a variable that is either exactly 32-bits or longer.
   * If some code depends on 32-bit truncation, it will need to
   * take special action in a "#if SIZEOF_INT32 > 4" section. */
-@@ -715,6 +740,7 @@ extern int file_extra_cnt;
+@@ -716,6 +741,7 @@ extern int file_extra_cnt;
  extern int inc_recurse;
  extern int uid_ndx;
  extern int gid_ndx;
@@ -679,7 +679,7 @@ diff --git a/rsync.h b/rsync.h
  extern int acls_ndx;
  extern int xattrs_ndx;
  
-@@ -756,6 +782,11 @@ extern int xattrs_ndx;
+@@ -757,6 +783,11 @@ extern int xattrs_ndx;
  /* When the associated option is on, all entries will have these present: */
  #define F_OWNER(f) REQ_EXTRA(f, uid_ndx)->unum
  #define F_GROUP(f) REQ_EXTRA(f, gid_ndx)->unum
index e55f2415e4bbb24cd116d38a4e3cb45590f59afa..468d00f7558f467aeff3779c2527046efb9167ae 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -347,7 +347,7 @@ diff --git a/rsync.h b/rsync.h
  
  #define XFLG_FATAL_ERRORS     (1<<0)
  #define XFLG_OLD_PREFIXES     (1<<1)
-@@ -862,6 +865,8 @@ struct map_struct {
+@@ -863,6 +866,8 @@ struct map_struct {
        int status;             /* first errno from read errors         */
  };
  
@@ -356,7 +356,7 @@ diff --git a/rsync.h b/rsync.h
  #define NAME_IS_FILE          (0)    /* filter name as a file */
  #define NAME_IS_DIR           (1<<0) /* filter name as a dir */
  #define NAME_IS_XATTR         (1<<2) /* filter name as an xattr */
-@@ -887,8 +892,18 @@ struct map_struct {
+@@ -888,8 +893,18 @@ struct map_struct {
  #define FILTRULE_CLEAR_LIST   (1<<18)/* this item is the "!" token */
  #define FILTRULE_PERISHABLE   (1<<19)/* perishable if parent dir goes away */
  #define FILTRULE_XATTR                (1<<20)/* rule only applies to xattr names */
@@ -375,7 +375,7 @@ diff --git a/rsync.h b/rsync.h
  
  typedef struct filter_struct {
        struct filter_struct *next;
-@@ -898,6 +913,11 @@ typedef struct filter_struct {
+@@ -899,6 +914,11 @@ typedef struct filter_struct {
                int slash_cnt;
                struct filter_list_struct *mergelist;
        } u;
index 2ddf4aa4c9fe2b6bfc8e30df12480a8f86798962..e98880059a1a935b593905183b08754be62b4a82 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
index db8f53ddbbf53e376a305ef5a053ceef195b4141..c54240b57fc19c86da35795fbd09aa98c71fccbf 100644 (file)
@@ -43,7 +43,7 @@ diff --git a/generator.c b/generator.c
  extern int preserve_links;
  extern int preserve_devices;
  extern int preserve_specials;
-@@ -1782,6 +1783,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1785,6 +1786,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                        fname, fnamecmpbuf);
                        }
                        sx.st.st_size = F_LENGTH(fuzzy_file);
@@ -58,7 +58,7 @@ diff --git a/generator.c b/generator.c
                        statret = 0;
                        fnamecmp = fnamecmpbuf;
                }
-@@ -1949,6 +1958,18 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1952,6 +1961,18 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
        if (read_batch)
                goto cleanup;
  
@@ -336,7 +336,7 @@ diff --git a/rsync.c b/rsync.c
 +#endif
         && (sxp->st.st_mtime != file->modtime
  #ifdef ST_MTIME_NSEC
-         || (NSEC_BUMP(file) && (uint32)sxp->st.ST_MTIME_NSEC != F_MOD_NSEC(file))
+         || (flags & ATTRS_SET_NANO && NSEC_BUMP(file) && (uint32)sxp->st.ST_MTIME_NSEC != F_MOD_NSEC(file))
 @@ -653,6 +662,16 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
                 && !set_fileflags(fname, fileflags))
                        goto cleanup;
@@ -357,7 +357,7 @@ diff --git a/rsync.c b/rsync.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -555,6 +555,17 @@ typedef unsigned int size_t;
+@@ -556,6 +556,17 @@ typedef unsigned int size_t;
  #define ST_FLAGS(st) NO_FFLAGS
  #endif
  
index 5fcfd994ef2b5d2b4c65a4cf6d4d0f922f51c864..e07256fa19d38d5446fb4b947363875ca478771f 100644 (file)
@@ -12,7 +12,7 @@ TODO:
  - Make this code handle multibyte character encodings, and honor the
    --iconv setting when converting case.
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
index 19b76f08df95f7f56d04d6dffe1b0d5c2cce4ba7..4cc95711f2f80cfe64309613e3683341dd004f10 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -507,7 +507,7 @@ diff --git a/main.c b/main.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -478,6 +478,15 @@ enum delret {
+@@ -479,6 +479,15 @@ enum delret {
  #define iconv_t int
  #endif
  
index 490424f734b3621a9c27247a7d665013dff9f843..755f887d6984b3b10deccde6e5567c83e7ff1a68 100644 (file)
@@ -12,7 +12,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -373,7 +373,7 @@ diff --git a/rsync.c b/rsync.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -1276,7 +1276,8 @@ extern short info_levels[], debug_levels[];
+@@ -1277,7 +1277,8 @@ extern short info_levels[], debug_levels[];
  #define DEBUG_FUZZY (DEBUG_FLIST+1)
  #define DEBUG_GENR (DEBUG_FUZZY+1)
  #define DEBUG_HASH (DEBUG_GENR+1)
index 208c8a3aa2031ff1048cce1101bab92422106da7..f245926a872bae25482cc89efaea69eeb725b182 100644 (file)
@@ -20,7 +20,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/authenticate.c b/authenticate.c
 --- a/authenticate.c
 +++ b/authenticate.c
index 1ba9e456aad0cf86c33e348fef7acb5684e07646..e98aa1bf322d8180b51e4eda5409464556e75829 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/access.c b/access.c
 --- a/access.c
 +++ b/access.c
index 51105b1c1fb6508518469492fb8fede204534a72..3b7b73c3f06cf24c6d3852ba1df5667addb5df1d 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                              (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -19,7 +19,7 @@ diff --git a/generator.c b/generator.c
  extern int delete_mode;
  extern int delete_before;
  extern int delete_during;
-@@ -489,6 +490,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -490,6 +491,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
             const char *xname)
  {
        if (statret >= 0) { /* A from-dest-dir statret can == 1! */
@@ -27,7 +27,7 @@ diff --git a/generator.c b/generator.c
                int keep_time = !preserve_times ? 0
                    : S_ISDIR(file->mode) ? preserve_times & PRESERVE_DIR_TIMES
                    : S_ISLNK(file->mode) ? preserve_times & PRESERVE_LINK_TIMES
-@@ -515,10 +517,11 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -516,10 +518,11 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
                } else if (preserve_executability
                 && ((sxp->st.st_mode & 0111 ? 1 : 0) ^ (file->mode & 0111 ? 1 : 0)))
                        iflags |= ITEM_REPORT_PERMS;
@@ -42,7 +42,7 @@ diff --git a/generator.c b/generator.c
                        iflags |= ITEM_REPORT_GROUP;
  #ifdef SUPPORT_ACLS
                if (preserve_acls && !S_ISLNK(file->mode)) {
-@@ -1408,7 +1411,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1411,7 +1414,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                real_ret = statret;
                if (file->flags & FLAG_DIR_CREATED)
                        statret = -1;
index b6564079a37ad59b9249dfbf0334bfc0ded62ace..3fdc5867c6881df1b4048b18df394d8094bcc05c 100644 (file)
@@ -14,7 +14,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
index 422425bd7da90cf464bf0913a2afae5b67ef3c81..6a0c722d9881c5811a5643be8d38073f6342ba7e 100644 (file)
--- a/slp.diff
+++ b/slp.diff
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
 TODO: the configure changes should abort if the user requests --enable-slp
 and we can't honor that request.
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -181,7 +181,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -204,6 +204,10 @@
+@@ -205,6 +205,10 @@
  #define SIGNIFICANT_ITEM_FLAGS (~(\
        ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE))
  
index 2c8bf6fc3ef7f15e7e273b6d515b16cbe7711dd9..ca1304eef49db27ae6e98b185a99cf1be49c1a89 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index caf407a22e07abbb9a0b629f43e037e8172a2169..391adb5c7eb41dc375e2d3fcfcdc316538fa7563 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
 
 -- Matt McCutchen <hashproduct@gmail.com>
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
index 7bfe7fc93beef10837a3a2e3251fa9138fd2e1a6..e2840c81afeb1183841e90de4b4ea9df68a1fd30 100644 (file)
@@ -30,7 +30,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -42,7 +42,7 @@ diff --git a/generator.c b/generator.c
  extern int size_only;
  extern OFF_T max_size;
  extern OFF_T min_size;
-@@ -575,7 +576,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -576,7 +577,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
  /* Perform our quick-check heuristic for determining if a file is unchanged. */
  int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
  {
index f32891a25fb0d80cd04822254abd4d02dcba3fc1..b03092d9ca1ec2c3b83c00cab3af44c97f195115 100644 (file)
@@ -18,7 +18,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/fileio.c b/fileio.c
 --- a/fileio.c
 +++ b/fileio.c
index 82d38660e26cb24c154cb8577ed1e63833bd3dc5..8a55f6de0cedfc00d2f300f8b5322656608ebb24 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/main.c b/main.c
 --- a/main.c
 +++ b/main.c
index 66a2d6bfa4929376d1b5e387882f8554a9c9c0dc..4165c42d46634a83dc3a0ea5462789071ecbe434 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                              (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/io.c b/io.c
 --- a/io.c
 +++ b/io.c
index d1690cdc744ca2b50f774a20fc94bd1ce6d6fc82..66ed80f5fd37c10e9e82b9d5aa079e745b66d011 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
index b8987ce215921bed1a269f127cfd17dcb745c736..e6e6cee9b38fe2279865ceca56ee345b16397987 100644 (file)
@@ -6,7 +6,7 @@ To use this patch, run these commands for a successful build:
     ./configure                          (optional if already run)
     make
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index bb1ef23819ec6becc0b8a3b8f98f110751e00285..6a0971ece4b615e6f361bbf55f5cde289b0459e9 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
 This patch has not yet been tested by me (Wayne), but was provided
 Darryl Dixon.  Thanks!
 
-based-on: c4a3f55be35726d0a033996dc37b0fb248b45cb5
+based-on: d73762eea3f15f2c56bb3fa9394ad1883c25c949
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -22,7 +22,7 @@ diff --git a/generator.c b/generator.c
  extern int preserve_specials;
  extern int preserve_hard_links;
  extern int preserve_executability;
-@@ -1690,7 +1691,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1693,7 +1694,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
  
        fnamecmp_type = FNAMECMP_FNAME;