--- old/generator.c
+++ new/generator.c
-@@ -44,6 +44,7 @@ extern int preserve_perms;
+@@ -45,6 +45,7 @@ extern int preserve_perms;
extern int preserve_uid;
extern int preserve_gid;
extern int preserve_times;
if (preserve_hard_links && file->link_u.links)
hard_link_cluster(file, ndx, itemizing, code);
} else if (itemizing)
-@@ -894,7 +901,7 @@ static void recv_generator(char *fname,
+@@ -906,7 +913,7 @@ static void recv_generator(char *fname,
&& verbose && code && f_out != -1)
rprintf(code, "%s/\n", fname);
if (delete_during && f_out != -1 && !phase && dry_run < 2
delete_in_dir(the_file_list, fname, file, &st);
return;
}
-@@ -1176,7 +1183,7 @@ static void recv_generator(char *fname,
- if (fuzzy_basis) {
+@@ -1188,7 +1195,7 @@ static void recv_generator(char *fname,
+ if (fuzzy_dirlist) {
int j = flist_find(fuzzy_dirlist, file);
if (j >= 0) /* don't use changing file as future fuzzy basis */
- fuzzy_dirlist->files[j]->flags |= FLAG_NO_FUZZY;
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
-@@ -300,8 +301,9 @@ void usage(enum logcode F)
+@@ -299,8 +300,9 @@ void usage(enum logcode F)
rprintf(F," --devices preserve device files (super-user only)\n");
rprintf(F," --specials preserve special files\n");
rprintf(F," -D same as --devices --specials\n");
rprintf(F," --super receiver attempts super-user activities\n");
rprintf(F," -S, --sparse handle sparse files efficiently\n");
rprintf(F," -n, --dry-run show what would have been transferred\n");
-@@ -412,6 +414,9 @@ static struct poptOption long_options[]
+@@ -411,6 +413,9 @@ static struct poptOption long_options[]
{"times", 't', POPT_ARG_VAL, &preserve_times, 1, 0, 0 },
{"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
{"no-t", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
else if (preserve_executability && am_sender)
--- old/rsync.c
+++ new/rsync.c
-@@ -37,6 +37,7 @@ extern int preserve_perms;
+@@ -35,6 +35,7 @@ extern int dry_run;
+ extern int daemon_log_format_has_i;
+ extern int preserve_perms;
extern int preserve_executability;
++extern int preserve_atimes;
extern int preserve_times;
extern int omit_dir_times;
-+extern int preserve_atimes;
- extern int orig_umask;
extern int am_root;
- extern int am_server;
-@@ -125,6 +126,7 @@ int set_file_attrs(char *fname, struct f
+@@ -128,6 +129,7 @@ int set_file_attrs(char *fname, struct f
int updated = 0;
STRUCT_STAT st2;
int change_uid, change_gid;
if (!st) {
if (dry_run)
-@@ -143,18 +145,33 @@ int set_file_attrs(char *fname, struct f
+@@ -146,18 +148,33 @@ int set_file_attrs(char *fname, struct f
}
}
* by doubling until FLIST_LINEAR then grow by FLIST_LINEAR
--- old/rsync.yo
+++ new/rsync.yo
-@@ -323,8 +323,9 @@ to the detailed description below for a
+@@ -325,8 +325,9 @@ to the detailed description below for a
--devices preserve device files (super-user only)
--specials preserve special files
-D same as --devices --specials
--super receiver attempts super-user activities
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-@@ -800,6 +801,12 @@ it is preserving modification times (see
+@@ -814,6 +815,12 @@ it is preserving modification times (see
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).
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
-@@ -1308,7 +1315,7 @@ with older versions of rsync, but that a
+@@ -1322,7 +1329,7 @@ with older versions of rsync, but that a
verbose messages).
The "%i" escape has a cryptic output that is 9 letters long. The general
type of update being done, bf(X) is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
-@@ -1348,7 +1355,7 @@ quote(itemize(
+@@ -1362,7 +1369,7 @@ quote(itemize(
by the file transfer.
it() A bf(t) means the modification time is different and is being updated
to the sender's value (requires bf(--times)). An alternate value of bf(T)
anytime a symlink is transferred, or when a file or device is transferred
without bf(--times).
it() A bf(p) means the permissions are different and are being updated to
-@@ -1357,7 +1364,10 @@ quote(itemize(
+@@ -1371,7 +1378,10 @@ quote(itemize(
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).
}
--- old/util.c
+++ new/util.c
-@@ -125,7 +125,7 @@ void overflow_exit(char *str)
+@@ -126,7 +126,7 @@ void overflow_exit(char *str)
exit_cleanup(RERR_MALLOC);
}
{
#if !defined HAVE_LUTIMES || !defined HAVE_UTIMES
if (S_ISLNK(mode))
-@@ -133,9 +133,13 @@ int set_modtime(char *fname, time_t modt
+@@ -134,9 +134,13 @@ int set_modtime(char *fname, time_t modt
#endif
if (verbose > 2) {
}
if (dry_run)
-@@ -144,7 +148,7 @@ int set_modtime(char *fname, time_t modt
+@@ -145,7 +149,7 @@ int set_modtime(char *fname, time_t modt
{
#ifdef HAVE_UTIMES
struct timeval t[2];
t[0].tv_usec = 0;
t[1].tv_sec = modtime;
t[1].tv_usec = 0;
-@@ -155,12 +159,12 @@ int set_modtime(char *fname, time_t modt
+@@ -156,12 +160,12 @@ int set_modtime(char *fname, time_t modt
return utimes(fname, t);
#elif defined HAVE_UTIMBUF
struct utimbuf tbuf;