The patches for 3.0.3pre2.
[rsync/rsync-patches.git] / atimes.diff
index cdd41c3..f954864 100644 (file)
@@ -177,7 +177,7 @@ diff --git a/generator.c b/generator.c
                        f_name(f, NULL));
        }
  }
-@@ -2016,7 +2025,7 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -2029,7 +2038,7 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
                        STRUCT_STAT st;
                        if (link_stat(fname, &st, 0) == 0
                         && cmp_time(st.st_mtime, file->modtime) != 0)
@@ -323,7 +323,7 @@ diff --git a/rsync.c b/rsync.c
        }
  
        change_uid = am_root && uid_ndx && sxp->st.st_uid != (uid_t)F_OWNER(file);
-@@ -566,7 +585,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
+@@ -569,7 +588,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
  
        /* Change permissions before putting the file into place. */
        set_file_attrs(fnametmp, file, NULL, fnamecmp,
@@ -332,7 +332,7 @@ diff --git a/rsync.c b/rsync.c
  
        /* move tmp file over real file */
        if (verbose > 2)
-@@ -593,7 +612,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
+@@ -596,7 +615,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
  
    do_set_file_attrs:
        set_file_attrs(fnametmp, file, NULL, fnamecmp,
@@ -386,7 +386,7 @@ diff --git a/rsync.yo b/rsync.yo
       --super                 receiver attempts super-user activities
       --fake-super            store/recover privileged attrs using xattrs
   -S, --sparse                handle sparse files efficiently
-@@ -994,6 +995,12 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
+@@ -1000,6 +1001,12 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
  the directories on the receiving side, it is a good idea to use bf(-O).
  This option is inferred if you use bf(--backup) without bf(--backup-dir).
  
@@ -399,7 +399,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--super)) This tells the receiving side to attempt super-user
  activities even if the receiving rsync wasn't run by the super-user.  These
  activities include: preserving users via the bf(--owner) option, preserving
-@@ -1701,7 +1708,10 @@ quote(itemization(
+@@ -1707,7 +1714,10 @@ quote(itemization(
    sender's value (requires bf(--owner) and super-user privileges).
    it() A bf(g) means the group is different and is being updated to the
    sender's value (requires bf(--group) and the authority to set the group).
@@ -465,7 +465,7 @@ diff --git a/testsuite/rsync.fns b/testsuite/rsync.fns
 diff --git a/tls.c b/tls.c
 --- a/tls.c
 +++ b/tls.c
-@@ -105,6 +105,8 @@ static int stat_xattr(const char *fname, STRUCT_STAT *fst)
+@@ -107,6 +107,8 @@ static int stat_xattr(const char *fname, STRUCT_STAT *fst)
  
  #endif
  
@@ -474,7 +474,7 @@ diff --git a/tls.c b/tls.c
  static void failed(char const *what, char const *where)
  {
        fprintf(stderr, PROGRAM ": %s %s: %s\n",
-@@ -112,12 +114,29 @@ static void failed(char const *what, char const *where)
+@@ -114,12 +116,29 @@ static void failed(char const *what, char const *where)
        exit(1);
  }
  
@@ -506,7 +506,7 @@ diff --git a/tls.c b/tls.c
        char linkbuf[4096];
  
        if (do_lstat(fname, &buf) < 0)
-@@ -154,19 +173,11 @@ static void list_file(const char *fname)
+@@ -158,19 +177,11 @@ static void list_file(const char *fname)
  
        permstring(permbuf, buf.st_mode);
  
@@ -531,7 +531,7 @@ diff --git a/tls.c b/tls.c
  
        /* TODO: Perhaps escape special characters in fname? */
  
-@@ -177,13 +188,14 @@ static void list_file(const char *fname)
+@@ -181,13 +192,14 @@ static void list_file(const char *fname)
                    (long)minor(buf.st_rdev));
        } else /* NB: use double for size since it might not fit in a long. */
                printf("%12.0f", (double)buf.st_size);
@@ -545,21 +545,21 @@ diff --git a/tls.c b/tls.c
  static struct poptOption long_options[] = {
    /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */
 +  {"atimes",          'U', POPT_ARG_NONE,   &display_atimes, 0, 0, 0},
+   {"link-times",      'l', POPT_ARG_NONE,   &link_times, 0, 0, 0 },
+   {"link-owner",      'L', POPT_ARG_NONE,   &link_owner, 0, 0, 0 },
  #ifdef SUPPORT_XATTRS
-   {"fake-super",      'f', POPT_ARG_VAL,    &am_root, -1, 0, 0 },
- #endif
-@@ -197,6 +209,7 @@ static void tls_usage(int ret)
+@@ -203,6 +215,7 @@ static void tls_usage(int ret)
    fprintf(F,"usage: " PROGRAM " [OPTIONS] FILE ...\n");
    fprintf(F,"Trivial file listing program for portably checking rsync\n");
    fprintf(F,"\nOptions:\n");
 +  fprintf(F," -U, --atimes                display access (last-used) times\n");
+   fprintf(F," -l, --link-times            display the time on a symlink\n");
+   fprintf(F," -L, --link-owner            display the owner+group on a symlink\n");
  #ifdef SUPPORT_XATTRS
-   fprintf(F," -f, --fake-super            display attributes including fake-super xattrs\n");
- #endif
 diff --git a/util.c b/util.c
 --- a/util.c
 +++ b/util.c
-@@ -122,7 +122,7 @@ NORETURN void overflow_exit(const char *str)
+@@ -123,7 +123,7 @@ NORETURN void overflow_exit(const char *str)
        exit_cleanup(RERR_MALLOC);
  }
  
@@ -568,7 +568,7 @@ diff --git a/util.c b/util.c
  {
  #if !defined HAVE_LUTIMES || !defined HAVE_UTIMES
        if (S_ISLNK(mode))
-@@ -130,9 +130,13 @@ int set_modtime(const char *fname, time_t modtime, mode_t mode)
+@@ -131,9 +131,13 @@ int set_modtime(const char *fname, time_t modtime, mode_t mode)
  #endif
  
        if (verbose > 2) {
@@ -584,7 +584,7 @@ diff --git a/util.c b/util.c
        }
  
        if (dry_run)
-@@ -141,7 +145,7 @@ int set_modtime(const char *fname, time_t modtime, mode_t mode)
+@@ -142,7 +146,7 @@ int set_modtime(const char *fname, time_t modtime, mode_t mode)
        {
  #ifdef HAVE_UTIMES
                struct timeval t[2];
@@ -593,7 +593,7 @@ diff --git a/util.c b/util.c
                t[0].tv_usec = 0;
                t[1].tv_sec = modtime;
                t[1].tv_usec = 0;
-@@ -155,12 +159,12 @@ int set_modtime(const char *fname, time_t modtime, mode_t mode)
+@@ -156,12 +160,12 @@ int set_modtime(const char *fname, time_t modtime, mode_t mode)
                return utimes(fname, t);
  #elif defined HAVE_STRUCT_UTIMBUF
                struct utimbuf tbuf;