rprintf(FINFO, "flist->length=%.0f\n",
(double) fptr[i]->length);
rprintf(FINFO, "flist->mode=%#o\n", (int) fptr[i]->mode);
---- orig/flist.c 2005-02-23 02:57:26
+--- orig/flist.c 2005-02-26 19:27:54
+++ flist.c 2005-02-07 21:06:04
@@ -56,6 +56,7 @@ extern int relative_paths;
extern int implied_dirs;
+extern int copy_atimes;
extern int protocol_version;
extern int sanitize_paths;
- extern int max_delete;
-@@ -148,16 +149,18 @@ static void list_file_entry(struct file_
+ extern int orig_umask;
+@@ -140,16 +141,18 @@ static void list_file_entry(struct file_
#ifdef SUPPORT_LINKS
if (preserve_links && S_ISLNK(f->mode)) {
safe_fname(f_name(f)));
}
}
-@@ -321,6 +324,7 @@ void send_file_entry(struct file_struct
+@@ -313,6 +316,7 @@ void send_file_entry(struct file_struct
{
unsigned short flags;
static time_t modtime;
static mode_t mode;
static int64 dev;
static dev_t rdev;
-@@ -336,7 +340,7 @@ void send_file_entry(struct file_struct
+@@ -328,7 +332,7 @@ void send_file_entry(struct file_struct
if (!file) {
write_byte(f, 0);
dev = 0, rdev = makedev(0, 0);
rdev_major = 0;
uid = 0, gid = 0;
-@@ -385,6 +389,12 @@ void send_file_entry(struct file_struct
+@@ -377,6 +381,12 @@ void send_file_entry(struct file_struct
flags |= XMIT_SAME_TIME;
else
modtime = file->modtime;
#ifdef SUPPORT_HARD_LINKS
if (file->link_u.idev) {
-@@ -440,6 +450,8 @@ void send_file_entry(struct file_struct
+@@ -432,6 +442,8 @@ void send_file_entry(struct file_struct
write_int(f, modtime);
if (!(flags & XMIT_SAME_MODE))
write_int(f, to_wire_mode(mode));
if (preserve_uid && !(flags & XMIT_SAME_UID)) {
if (!numeric_ids)
add_uid(uid);
-@@ -513,6 +525,7 @@ static struct file_struct *receive_file_
+@@ -505,6 +517,7 @@ static struct file_struct *receive_file_
unsigned short flags, int f)
{
static time_t modtime;
static mode_t mode;
static int64 dev;
static dev_t rdev;
-@@ -531,7 +544,7 @@ static struct file_struct *receive_file_
+@@ -523,7 +536,7 @@ static struct file_struct *receive_file_
struct file_struct *file;
if (!flist) {
dev = 0, rdev = makedev(0, 0);
rdev_major = 0;
uid = 0, gid = 0;
-@@ -587,6 +600,8 @@ static struct file_struct *receive_file_
+@@ -579,6 +592,8 @@ static struct file_struct *receive_file_
modtime = (time_t)read_int(f);
if (!(flags & XMIT_SAME_MODE))
mode = from_wire_mode(read_int(f));
if (preserve_uid && !(flags & XMIT_SAME_UID))
uid = (uid_t)read_int(f);
-@@ -637,6 +652,7 @@ static struct file_struct *receive_file_
+@@ -629,6 +644,7 @@ static struct file_struct *receive_file_
file->flags = 0;
file->modtime = modtime;
file->length = file_length;
file->mode = mode;
file->uid = uid;
-@@ -886,6 +902,7 @@ skip_filters:
+@@ -878,6 +894,7 @@ skip_filters:
file->flags = flags;
file->modtime = st.st_mtime;
file->length = st.st_size;
file->mode = st.st_mode;
file->uid = st.st_uid;
---- orig/generator.c 2005-02-23 02:57:26
+--- orig/generator.c 2005-02-26 19:27:54
+++ generator.c 2004-11-03 23:02:12
-@@ -152,7 +152,7 @@ static int unchanged_file(char *fn, stru
+@@ -364,7 +364,7 @@ static int unchanged_file(char *fn, stru
if (ignore_times)
return 0;
}
-@@ -727,7 +727,7 @@ static void recv_generator(char *fname,
+@@ -919,7 +919,7 @@ static void recv_generator(char *fname,
}
if (update_only && fnamecmp_type == FNAMECMP_FNAME
if (verbose > 1)
rprintf(FINFO, "%s is newer\n", safe_fname(fname));
return;
---- orig/options.c 2005-02-23 02:57:26
+--- orig/options.c 2005-02-25 18:44:31
+++ options.c 2005-02-21 10:53:28
@@ -50,6 +50,7 @@ int preserve_uid = 0;
int preserve_gid = 0;
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
-@@ -283,6 +284,7 @@ void usage(enum logcode F)
+@@ -284,6 +285,7 @@ void usage(enum logcode F)
rprintf(F," -g, --group preserve group\n");
rprintf(F," -D, --devices preserve devices (root only)\n");
rprintf(F," -t, --times preserve times\n");
rprintf(F," -O, --omit-dir-times omit directories when preserving times\n");
rprintf(F," -S, --sparse handle sparse files efficiently\n");
rprintf(F," -n, --dry-run show what would have been transferred\n");
-@@ -406,6 +408,7 @@ static struct poptOption long_options[]
+@@ -407,6 +409,7 @@ static struct poptOption long_options[]
{"devices", 'D', POPT_ARG_NONE, &preserve_devices, 0, 0, 0 },
{"times", 't', POPT_ARG_NONE, &preserve_times, 0, 0, 0 },
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 2, 0, 0 },
{"checksum", 'c', POPT_ARG_NONE, &always_checksum, 0, 0, 0 },
{"verbose", 'v', POPT_ARG_NONE, 0, 'v', 0, 0 },
{"quiet", 'q', POPT_ARG_NONE, 0, 'q', 0, 0 },
-@@ -1266,6 +1269,8 @@ void server_options(char **args,int *arg
+@@ -1267,6 +1270,8 @@ void server_options(char **args,int *arg
argstr[x++] = 'D';
if (preserve_times)
argstr[x++] = 't';
if (omit_dir_times == 2 && am_sender)
argstr[x++] = 'O';
if (preserve_perms)
---- orig/rsync.c 2005-02-21 10:51:52
+--- orig/rsync.c 2005-02-25 18:44:31
+++ rsync.c 2005-02-21 10:57:03
@@ -27,6 +27,7 @@ extern int dry_run;
extern int daemon_log_format_has_i;
extern int am_root;
extern int am_server;
extern int am_sender;
-@@ -56,6 +57,7 @@ int set_perms(char *fname,struct file_st
+@@ -57,6 +58,7 @@ int set_perms(char *fname,struct file_st
int updated = 0;
STRUCT_STAT st2;
int change_uid, change_gid;
if (!st) {
if (dry_run)
-@@ -68,17 +70,27 @@ int set_perms(char *fname,struct file_st
+@@ -69,17 +71,27 @@ int set_perms(char *fname,struct file_st
st = &st2;
}
uid_t uid;
gid_t gid;
mode_t mode;
---- orig/rsync.yo 2005-02-23 02:57:27
+--- orig/rsync.yo 2005-02-26 05:22:51
+++ rsync.yo 2005-01-24 01:57:18
@@ -322,6 +322,7 @@ to the detailed description below for a
-D, --devices preserve devices (root only)
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-W, --whole-file copy files whole (without rsync algorithm)
-@@ -653,6 +654,11 @@ dit(bf(-O, --omit-dir-times)) This tells
- it is preserving modification times (see bf(--times)). If NFS is sharing
+@@ -654,6 +655,11 @@ 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(-A, --copy-atimes)) This tells rsync to transfer access times
+along with the files and update them on the remote system. Note that
+ }
+ return 0;
+}
---- orig/flist.c 2005-02-23 02:57:26
+--- orig/flist.c 2005-02-26 19:27:54
+++ flist.c 2004-09-18 01:51:11
-@@ -70,6 +70,8 @@ extern int backup_suffix_len;
+@@ -62,6 +62,8 @@ extern int orig_umask;
extern char curr_dir[MAXPATHLEN];
extern struct filter_list_struct filter_list;
extern struct filter_list_struct server_filter_list;
-@@ -887,7 +889,10 @@ skip_filters:
+@@ -879,7 +881,10 @@ skip_filters:
file->flags = flags;
file->modtime = st.st_mtime;
file->length = st.st_size;
file->uid = st.st_uid;
file->gid = st.st_gid;
---- orig/options.c 2005-02-23 02:57:26
+--- orig/options.c 2005-02-25 18:44:31
+++ options.c 2005-02-16 15:38:40
-@@ -139,6 +139,7 @@ char *log_format = NULL;
+@@ -140,6 +140,7 @@ char *log_format = NULL;
char *password_file = NULL;
char *rsync_path = RSYNC_PATH;
char *backup_dir = NULL;
char backup_dir_buf[MAXPATHLEN];
int rsync_port = 0;
int compare_dest = 0;
-@@ -157,6 +158,8 @@ int list_only = 0;
+@@ -158,6 +159,8 @@ int list_only = 0;
#define MAX_BATCH_NAME_LEN 256 /* Must be less than MAXPATHLEN-13 */
char *batch_name = NULL;
static int daemon_opt; /* sets am_daemon after option error-reporting */
static int F_option_cnt = 0;
static int modify_window_set;
-@@ -284,6 +287,7 @@ void usage(enum logcode F)
+@@ -285,6 +288,7 @@ void usage(enum logcode F)
rprintf(F," -D, --devices preserve devices (root only)\n");
rprintf(F," -t, --times preserve times\n");
rprintf(F," -O, --omit-dir-times omit directories when preserving times\n");
rprintf(F," -S, --sparse handle sparse files efficiently\n");
rprintf(F," -n, --dry-run show what would have been transferred\n");
rprintf(F," -W, --whole-file copy files whole (without rsync algorithm)\n");
-@@ -403,6 +407,7 @@ static struct poptOption long_options[]
+@@ -404,6 +408,7 @@ static struct poptOption long_options[]
{"perms", 'p', POPT_ARG_NONE, &preserve_perms, 0, 0, 0 },
{"owner", 'o', POPT_ARG_NONE, &preserve_uid, 0, 0, 0 },
{"group", 'g', POPT_ARG_NONE, &preserve_gid, 0, 0, 0 },
{"devices", 'D', POPT_ARG_NONE, &preserve_devices, 0, 0, 0 },
{"times", 't', POPT_ARG_NONE, &preserve_times, 0, 0, 0 },
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 2, 0, 0 },
-@@ -1083,6 +1088,13 @@ int parse_arguments(int *argc, const cha
+@@ -1082,6 +1087,13 @@ int parse_arguments(int *argc, const cha
if (make_backups && !backup_dir)
omit_dir_times = 1;
if (log_format) {
if (strstr(log_format, "%i") != NULL)
log_format_has_i = 1;
-@@ -1432,6 +1444,11 @@ void server_options(char **args,int *arg
+@@ -1433,6 +1445,11 @@ void server_options(char **args,int *arg
}
}
if (files_from && (!am_sender || remote_filesfrom_file)) {
if (remote_filesfrom_file) {
args[ac++] = "--files-from";
---- orig/rsync.yo 2005-02-23 02:57:27
+--- orig/rsync.yo 2005-02-26 05:22:51
+++ rsync.yo 2005-01-24 01:48:43
@@ -322,6 +322,7 @@ to the detailed description below for a
-D, --devices preserve devices (root only)
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-W, --whole-file copy files whole (without rsync algorithm)
-@@ -653,6 +654,14 @@ dit(bf(-O, --omit-dir-times)) This tells
- it is preserving modification times (see bf(--times)). If NFS is sharing
+@@ -654,6 +655,14 @@ 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(--chmod)) This options tells rsync to apply the listed "chmod" pattern
+to the permission of the files on the destination. In addition to the normal