Got rid of fuzz.
authorWayne Davison <wayned@samba.org>
Tue, 3 Aug 2004 16:13:39 +0000 (16:13 +0000)
committerWayne Davison <wayned@samba.org>
Tue, 3 Aug 2004 16:13:39 +0000 (16:13 +0000)
chmod-option.diff
compare-dest.diff
fuzzy.diff
g2r-basis-filename.diff
link-by-hash.diff
remove-sent-files.diff

index f6a80b1..f99e2d7 100644 (file)
@@ -202,7 +202,7 @@ command before "make":
 +      }
 +      return 0;
 +}
 +      }
 +      return 0;
 +}
---- orig/flist.c       2004-07-15 02:21:10
+--- orig/flist.c       2004-07-17 15:20:05
 +++ flist.c    2004-07-03 20:13:41
 @@ -33,6 +33,7 @@ extern int verbose;
  extern int do_progress;
 +++ flist.c    2004-07-03 20:13:41
 @@ -33,6 +33,7 @@ extern int verbose;
  extern int do_progress;
@@ -233,9 +233,9 @@ command before "make":
        file->uid = st.st_uid;
        file->gid = st.st_gid;
  
        file->uid = st.st_uid;
        file->gid = st.st_gid;
  
---- orig/options.c     2004-07-16 20:07:22
+--- orig/options.c     2004-08-03 15:41:32
 +++ options.c  2004-07-03 20:13:41
 +++ options.c  2004-07-03 20:13:41
-@@ -125,6 +125,7 @@ char *log_format = NULL;
+@@ -127,6 +127,7 @@ char *log_format = NULL;
  char *password_file = NULL;
  char *rsync_path = RSYNC_PATH;
  char *backup_dir = NULL;
  char *password_file = NULL;
  char *rsync_path = RSYNC_PATH;
  char *backup_dir = NULL;
@@ -243,7 +243,7 @@ command before "make":
  char backup_dir_buf[MAXPATHLEN];
  int rsync_port = RSYNC_PORT;
  int link_dest = 0;
  char backup_dir_buf[MAXPATHLEN];
  int rsync_port = RSYNC_PORT;
  int link_dest = 0;
-@@ -137,6 +138,8 @@ int list_only = 0;
+@@ -139,6 +140,8 @@ int list_only = 0;
  #define MAX_BATCH_NAME_LEN 256        /* Must be less than MAXPATHLEN-13 */
  char *batch_name = NULL;
  
  #define MAX_BATCH_NAME_LEN 256        /* Must be less than MAXPATHLEN-13 */
  char *batch_name = NULL;
  
@@ -252,7 +252,7 @@ command before "make":
  static int daemon_opt;   /* sets am_daemon after option error-reporting */
  static int modify_window_set;
  
  static int daemon_opt;   /* sets am_daemon after option error-reporting */
  static int modify_window_set;
  
-@@ -251,6 +254,7 @@ void usage(enum logcode F)
+@@ -254,6 +257,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," -g, --group                 preserve group\n");
    rprintf(F," -D, --devices               preserve devices (root only)\n");
    rprintf(F," -t, --times                 preserve times\n");
@@ -260,7 +260,7 @@ command before "make":
    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 whole files, no incremental checks\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 whole files, no incremental checks\n");
-@@ -357,6 +361,7 @@ static struct poptOption long_options[] 
+@@ -361,6 +365,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 },
    {"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 },
@@ -268,8 +268,8 @@ command before "make":
    {"devices",         'D', POPT_ARG_NONE,   &preserve_devices, 0, 0, 0 },
    {"times",           't', POPT_ARG_NONE,   &preserve_times, 0, 0, 0 },
    {"checksum",        'c', POPT_ARG_NONE,   &always_checksum, 0, 0, 0 },
    {"devices",         'D', POPT_ARG_NONE,   &preserve_devices, 0, 0, 0 },
    {"times",           't', POPT_ARG_NONE,   &preserve_times, 0, 0, 0 },
    {"checksum",        'c', POPT_ARG_NONE,   &always_checksum, 0, 0, 0 },
-@@ -753,6 +758,13 @@ int parse_arguments(int *argc, const cha
-               exit_cleanup(RERR_SYNTAX);
+@@ -806,6 +811,13 @@ int parse_arguments(int *argc, const cha
+               return 0;
        }
  
 +      if (chmod_mode && !(chmod_modes = parse_chmod(chmod_mode))) {
        }
  
 +      if (chmod_mode && !(chmod_modes = parse_chmod(chmod_mode))) {
@@ -282,7 +282,7 @@ command before "make":
        if (do_progress && !verbose)
                verbose = 1;
  
        if (do_progress && !verbose)
                verbose = 1;
  
-@@ -1007,6 +1019,11 @@ void server_options(char **args,int *arg
+@@ -1076,6 +1088,11 @@ void server_options(char **args,int *arg
                args[ac++] = compare_dest;
        }
  
                args[ac++] = compare_dest;
        }
  
@@ -294,7 +294,7 @@ command before "make":
        if (files_from && (!am_sender || remote_filesfrom_file)) {
                if (remote_filesfrom_file) {
                        args[ac++] = "--files-from";
        if (files_from && (!am_sender || remote_filesfrom_file)) {
                if (remote_filesfrom_file) {
                        args[ac++] = "--files-from";
---- orig/rsync.yo      2004-07-16 20:07:23
+--- orig/rsync.yo      2004-08-03 15:34:32
 +++ rsync.yo   2004-07-03 20:13:41
 @@ -301,6 +301,7 @@ verb(
   -g, --group                 preserve group
 +++ rsync.yo   2004-07-03 20:13:41
 @@ -301,6 +301,7 @@ verb(
   -g, --group                 preserve group
@@ -304,7 +304,7 @@ command before "make":
   -S, --sparse                handle sparse files efficiently
   -n, --dry-run               show what would have been transferred
   -W, --whole-file            copy whole files, no incremental checks
   -S, --sparse                handle sparse files efficiently
   -n, --dry-run               show what would have been transferred
   -W, --whole-file            copy whole files, no incremental checks
-@@ -564,6 +565,14 @@ cause the next transfer to behave as if 
+@@ -574,6 +575,14 @@ cause the next transfer to behave as if 
  their checksums compared and show up in log messages even if they haven't
  changed.
  
  their checksums compared and show up in log messages even if they haven't
  changed.
  
index 68388ac..bb2bfaf 100644 (file)
@@ -20,7 +20,7 @@ Before compiling, be sure to run "make proto".
  extern int link_dest;
  extern int whole_file;
  extern int local_server;
  extern int link_dest;
  extern int whole_file;
  extern int local_server;
-@@ -414,11 +414,19 @@ static void recv_generator(char *fname, 
+@@ -413,11 +413,19 @@ static void recv_generator(char *fname, 
        fnamecmp = fname;
        fnamecmp_type = G2R_FNAME;
  
        fnamecmp = fname;
        fnamecmp_type = G2R_FNAME;
  
@@ -44,7 +44,7 @@ Before compiling, be sure to run "make proto".
  #if HAVE_LINK
                        if (link_dest && !dry_run) {
                                if (do_link(fnamecmpbuf, fname) < 0) {
  #if HAVE_LINK
                        if (link_dest && !dry_run) {
                                if (do_link(fnamecmpbuf, fname) < 0) {
-@@ -429,15 +437,14 @@ static void recv_generator(char *fname, 
+@@ -428,15 +436,14 @@ static void recv_generator(char *fname, 
                                                        safe_fname(fname));
                                        }
                                        fnamecmp = fnamecmpbuf;
                                                        safe_fname(fname));
                                        }
                                        fnamecmp = fnamecmpbuf;
@@ -64,7 +64,7 @@ Before compiling, be sure to run "make proto".
  
 --- orig/main.c        2004-07-22 00:10:43
 +++ main.c     2004-07-30 07:23:54
  
 --- orig/main.c        2004-07-22 00:10:43
 +++ main.c     2004-07-30 07:23:54
-@@ -58,7 +58,7 @@ extern int filesfrom_fd;
+@@ -59,7 +59,7 @@ extern int filesfrom_fd;
  extern pid_t cleanup_child_pid;
  extern char *files_from;
  extern char *remote_filesfrom_file;
  extern pid_t cleanup_child_pid;
  extern char *files_from;
  extern char *remote_filesfrom_file;
@@ -73,18 +73,18 @@ Before compiling, be sure to run "make proto".
  extern char *rsync_path;
  extern char *shell_cmd;
  extern char *batch_name;
  extern char *rsync_path;
  extern char *shell_cmd;
  extern char *batch_name;
-@@ -458,7 +458,7 @@ static int do_recv(int f_in,int f_out,st
+@@ -459,7 +459,7 @@ static int do_recv(int f_in,int f_out,st
        int pid;
        int status = 0;
        int error_pipe[2], name_pipe[2];
 -      BOOL need_name_pipe = compare_dest && !dry_run;
 +      BOOL need_name_pipe = compare_dest[0] && !dry_run;
  
        int pid;
        int status = 0;
        int error_pipe[2], name_pipe[2];
 -      BOOL need_name_pipe = compare_dest && !dry_run;
 +      BOOL need_name_pipe = compare_dest[0] && !dry_run;
  
-       if (preserve_hard_links)
-               init_hard_links(flist);
---- orig/options.c     2004-07-29 16:08:03
+       /* The receiving side mustn't obey this, or an existing symlink that
+        * points to an identical file won't be replaced by the referent. */
+--- orig/options.c     2004-08-03 15:41:32
 +++ options.c  2004-07-30 07:23:54
 +++ options.c  2004-07-30 07:23:54
-@@ -114,12 +114,13 @@ int write_batch = 0;
+@@ -115,12 +115,13 @@ int write_batch = 0;
  int read_batch = 0;
  int backup_dir_len = 0;
  int backup_suffix_len;
  int read_batch = 0;
  int backup_dir_len = 0;
  int backup_suffix_len;
@@ -99,7 +99,7 @@ Before compiling, be sure to run "make proto".
  char *config_file = NULL;
  char *shell_cmd = NULL;
  char *log_format = NULL;
  char *config_file = NULL;
  char *shell_cmd = NULL;
  char *log_format = NULL;
-@@ -140,6 +141,7 @@ char *batch_name = NULL;
+@@ -141,6 +142,7 @@ char *batch_name = NULL;
  
  static int daemon_opt;   /* sets am_daemon after option error-reporting */
  static int modify_window_set;
  
  static int daemon_opt;   /* sets am_daemon after option error-reporting */
  static int modify_window_set;
@@ -107,7 +107,7 @@ Before compiling, be sure to run "make proto".
  
  /** Local address to bind.  As a character string because it's
   * interpreted by the IPv6 layer: should be a numeric IP4 or IP6
  
  /** Local address to bind.  As a character string because it's
   * interpreted by the IPv6 layer: should be a numeric IP4 or IP6
-@@ -317,7 +319,7 @@ void usage(enum logcode F)
+@@ -318,7 +320,7 @@ void usage(enum logcode F)
  }
  
  enum {OPT_VERSION = 1000, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
  }
  
  enum {OPT_VERSION = 1000, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
@@ -116,7 +116,7 @@ Before compiling, be sure to run "make proto".
        OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW,
        OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT,
        OPT_REFUSED_BASE = 9000};
        OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW,
        OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT,
        OPT_REFUSED_BASE = 9000};
-@@ -376,8 +378,8 @@ static struct poptOption long_options[] 
+@@ -377,8 +379,8 @@ static struct poptOption long_options[] 
    {"max-delete",       0,  POPT_ARG_INT,    &max_delete, 0, 0, 0 },
    {"timeout",          0,  POPT_ARG_INT,    &io_timeout, OPT_TIMEOUT, 0, 0 },
    {"temp-dir",        'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
    {"max-delete",       0,  POPT_ARG_INT,    &max_delete, 0, 0, 0 },
    {"timeout",          0,  POPT_ARG_INT,    &io_timeout, OPT_TIMEOUT, 0, 0 },
    {"temp-dir",        'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
@@ -127,7 +127,7 @@ Before compiling, be sure to run "make proto".
    /* TODO: Should this take an optional int giving the compression level? */
    {"compress",        'z', POPT_ARG_NONE,   &do_compression, 0, 0, 0 },
    {"daemon",           0,  POPT_ARG_NONE,   &daemon_opt, 0, 0, 0 },
    /* TODO: Should this take an optional int giving the compression level? */
    {"compress",        'z', POPT_ARG_NONE,   &do_compression, 0, 0, 0 },
    {"daemon",           0,  POPT_ARG_NONE,   &daemon_opt, 0, 0, 0 },
-@@ -594,8 +596,28 @@ int parse_arguments(int *argc, const cha
+@@ -607,8 +609,28 @@ int parse_arguments(int *argc, const cha
                                select_timeout = io_timeout;
                        break;
  
                                select_timeout = io_timeout;
                        break;
  
@@ -156,8 +156,8 @@ Before compiling, be sure to run "make proto".
                        link_dest = 1;
                        break;
  #else
                        link_dest = 1;
                        break;
  #else
-@@ -693,6 +715,11 @@ int parse_arguments(int *argc, const cha
-               exit_cleanup(RERR_SYNTAX);
+@@ -701,6 +723,11 @@ int parse_arguments(int *argc, const cha
+               return 0;
        }
  
 +      if (saw_compare_dest && link_dest) {
        }
  
 +      if (saw_compare_dest && link_dest) {
@@ -168,7 +168,7 @@ Before compiling, be sure to run "make proto".
        if (archive_mode) {
                if (!files_from)
                        recurse = 1;
        if (archive_mode) {
                if (!files_from)
                        recurse = 1;
-@@ -723,8 +750,6 @@ int parse_arguments(int *argc, const cha
+@@ -731,8 +758,6 @@ int parse_arguments(int *argc, const cha
                        tmpdir = alloc_sanitize_path(tmpdir, curr_dir);
                if (partial_dir)
                        partial_dir = alloc_sanitize_path(partial_dir, curr_dir);
                        tmpdir = alloc_sanitize_path(tmpdir, curr_dir);
                if (partial_dir)
                        partial_dir = alloc_sanitize_path(partial_dir, curr_dir);
@@ -177,7 +177,7 @@ Before compiling, be sure to run "make proto".
                if (backup_dir)
                        backup_dir = alloc_sanitize_path(backup_dir, curr_dir);
                if (files_from)
                if (backup_dir)
                        backup_dir = alloc_sanitize_path(backup_dir, curr_dir);
                if (files_from)
-@@ -839,8 +864,8 @@ int parse_arguments(int *argc, const cha
+@@ -882,8 +907,8 @@ int parse_arguments(int *argc, const cha
   **/
  void server_options(char **args,int *argc)
  {
   **/
  void server_options(char **args,int *argc)
  {
@@ -187,7 +187,7 @@ Before compiling, be sure to run "make proto".
        char *arg;
  
        int i, x;
        char *arg;
  
        int i, x;
-@@ -1021,13 +1046,16 @@ void server_options(char **args,int *arg
+@@ -1067,13 +1092,16 @@ void server_options(char **args,int *arg
                args[ac++] = tmpdir;
        }
  
                args[ac++] = tmpdir;
        }
  
@@ -209,7 +209,7 @@ Before compiling, be sure to run "make proto".
        if (files_from && (!am_sender || remote_filesfrom_file)) {
 --- orig/receiver.c    2004-07-30 07:17:48
 +++ receiver.c 2004-07-30 07:31:12
        if (files_from && (!am_sender || remote_filesfrom_file)) {
 --- orig/receiver.c    2004-07-30 07:17:48
 +++ receiver.c 2004-07-30 07:31:12
-@@ -39,7 +39,7 @@ extern int cvs_exclude;
+@@ -38,7 +38,7 @@ extern int cvs_exclude;
  extern int io_error;
  extern char *tmpdir;
  extern char *partial_dir;
  extern int io_error;
  extern char *tmpdir;
  extern char *partial_dir;
index e9408e1..38df3d6 100644 (file)
@@ -16,7 +16,7 @@ Be sure to run "make proto" before "make".
  extern int always_checksum;
  extern char *partial_dir;
  extern char *compare_dest;
  extern int always_checksum;
  extern char *partial_dir;
  extern char *compare_dest;
-@@ -240,6 +241,93 @@ static void generate_and_send_sums(int f
+@@ -239,6 +240,93 @@ static void generate_and_send_sums(int f
  }
  
  
  }
  
  
@@ -110,7 +110,7 @@ Be sure to run "make proto" before "make".
  
  /*
   * Acts on file number @p i from @p flist, whose name is @p fname.
  
  /*
   * Acts on file number @p i from @p flist, whose name is @p fname.
-@@ -448,6 +536,15 @@ static void recv_generator(char *fname, 
+@@ -447,6 +535,15 @@ static void recv_generator(char *fname, 
                stat_errno = ENOENT;
        }
  
                stat_errno = ENOENT;
        }
  
@@ -126,7 +126,7 @@ Be sure to run "make proto" before "make".
        if (statret == -1) {
                if (preserve_hard_links && hard_link_check(file, HL_SKIP))
                        return;
        if (statret == -1) {
                if (preserve_hard_links && hard_link_check(file, HL_SKIP))
                        return;
-@@ -474,7 +571,7 @@ static void recv_generator(char *fname, 
+@@ -473,7 +570,7 @@ static void recv_generator(char *fname, 
                return;
        }
  
                return;
        }
  
@@ -135,7 +135,7 @@ Be sure to run "make proto" before "make".
                if (fnamecmp_type == G2R_FNAME)
                        set_perms(fname, file, &st, PERMS_REPORT);
                return;
                if (fnamecmp_type == G2R_FNAME)
                        set_perms(fname, file, &st, PERMS_REPORT);
                return;
-@@ -522,6 +619,21 @@ static void recv_generator(char *fname, 
+@@ -521,6 +618,21 @@ static void recv_generator(char *fname, 
  notify_others:
        if (f_out_name >= 0) {
                write_byte(f_out_name, fnamecmp_type);
  notify_others:
        if (f_out_name >= 0) {
                write_byte(f_out_name, fnamecmp_type);
@@ -159,7 +159,7 @@ Be sure to run "make proto" before "make".
  
 --- orig/main.c        2004-07-22 00:10:43
 +++ main.c     2004-07-22 00:32:31
  
 --- orig/main.c        2004-07-22 00:10:43
 +++ main.c     2004-07-22 00:32:31
-@@ -47,6 +47,7 @@ extern int keep_dirlinks;
+@@ -48,6 +48,7 @@ extern int keep_dirlinks;
  extern int preserve_hard_links;
  extern int protocol_version;
  extern int recurse;
  extern int preserve_hard_links;
  extern int protocol_version;
  extern int recurse;
@@ -167,18 +167,18 @@ Be sure to run "make proto" before "make".
  extern int relative_paths;
  extern int rsync_port;
  extern int whole_file;
  extern int relative_paths;
  extern int rsync_port;
  extern int whole_file;
-@@ -458,7 +459,7 @@ static int do_recv(int f_in,int f_out,st
+@@ -459,7 +460,7 @@ static int do_recv(int f_in,int f_out,st
        int pid;
        int status = 0;
        int error_pipe[2], name_pipe[2];
 -      BOOL need_name_pipe = compare_dest && !dry_run;
 +      BOOL need_name_pipe = (compare_dest || fuzzy_basis) && !dry_run;
  
        int pid;
        int status = 0;
        int error_pipe[2], name_pipe[2];
 -      BOOL need_name_pipe = compare_dest && !dry_run;
 +      BOOL need_name_pipe = (compare_dest || fuzzy_basis) && !dry_run;
  
-       if (preserve_hard_links)
-               init_hard_links(flist);
---- orig/options.c     2004-07-29 16:08:03
+       /* The receiving side mustn't obey this, or an existing symlink that
+        * points to an identical file won't be replaced by the referent. */
+--- orig/options.c     2004-08-03 15:41:32
 +++ options.c  2004-07-16 20:14:12
 +++ options.c  2004-07-16 20:14:12
-@@ -85,6 +85,7 @@ int safe_symlinks = 0;
+@@ -86,6 +86,7 @@ int safe_symlinks = 0;
  int copy_unsafe_links = 0;
  int size_only = 0;
  int bwlimit = 0;
  int copy_unsafe_links = 0;
  int size_only = 0;
  int bwlimit = 0;
@@ -186,7 +186,7 @@ Be sure to run "make proto" before "make".
  size_t bwlimit_writemax = 0;
  int delete_after = 0;
  int only_existing = 0;
  size_t bwlimit_writemax = 0;
  int delete_after = 0;
  int only_existing = 0;
-@@ -279,6 +280,7 @@ void usage(enum logcode F)
+@@ -280,6 +281,7 @@ void usage(enum logcode F)
    rprintf(F," -T, --temp-dir=DIR          create temporary files in directory DIR\n");
    rprintf(F,"     --compare-dest=DIR      also compare destination files relative to DIR\n");
    rprintf(F,"     --link-dest=DIR         create hardlinks to DIR for unchanged files\n");
    rprintf(F," -T, --temp-dir=DIR          create temporary files in directory DIR\n");
    rprintf(F,"     --compare-dest=DIR      also compare destination files relative to DIR\n");
    rprintf(F,"     --link-dest=DIR         create hardlinks to DIR for unchanged files\n");
@@ -194,7 +194,7 @@ Be sure to run "make proto" before "make".
    rprintf(F," -P                          equivalent to --partial --progress\n");
    rprintf(F," -z, --compress              compress file data\n");
    rprintf(F," -C, --cvs-exclude           auto ignore files in the same way CVS does\n");
    rprintf(F," -P                          equivalent to --partial --progress\n");
    rprintf(F," -z, --compress              compress file data\n");
    rprintf(F," -C, --cvs-exclude           auto ignore files in the same way CVS does\n");
-@@ -378,6 +380,7 @@ static struct poptOption long_options[] 
+@@ -379,6 +381,7 @@ static struct poptOption long_options[] 
    {"temp-dir",        'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
    {"compare-dest",     0,  POPT_ARG_STRING, &compare_dest, 0, 0, 0 },
    {"link-dest",        0,  POPT_ARG_STRING, &compare_dest,  OPT_LINK_DEST, 0, 0 },
    {"temp-dir",        'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
    {"compare-dest",     0,  POPT_ARG_STRING, &compare_dest, 0, 0, 0 },
    {"link-dest",        0,  POPT_ARG_STRING, &compare_dest,  OPT_LINK_DEST, 0, 0 },
@@ -202,7 +202,7 @@ Be sure to run "make proto" before "make".
    /* TODO: Should this take an optional int giving the compression level? */
    {"compress",        'z', POPT_ARG_NONE,   &do_compression, 0, 0, 0 },
    {"daemon",           0,  POPT_ARG_NONE,   &daemon_opt, 0, 0, 0 },
    /* TODO: Should this take an optional int giving the compression level? */
    {"compress",        'z', POPT_ARG_NONE,   &do_compression, 0, 0, 0 },
    {"daemon",           0,  POPT_ARG_NONE,   &daemon_opt, 0, 0, 0 },
-@@ -1042,6 +1045,9 @@ void server_options(char **args,int *arg
+@@ -1088,6 +1091,9 @@ void server_options(char **args,int *arg
                }
        }
  
                }
        }
  
@@ -263,7 +263,7 @@ Be sure to run "make proto" before "make".
  
  
  /* Log-message categories.  FLOG is only used on the daemon side to
  
  
  /* Log-message categories.  FLOG is only used on the daemon side to
---- orig/rsync.yo      2004-07-29 16:08:04
+--- orig/rsync.yo      2004-08-03 15:34:32
 +++ rsync.yo   2004-07-03 19:27:25
 @@ -327,6 +327,7 @@ verb(
   -T  --temp-dir=DIR          create temporary files in directory DIR
 +++ rsync.yo   2004-07-03 19:27:25
 @@ -327,6 +327,7 @@ verb(
   -T  --temp-dir=DIR          create temporary files in directory DIR
index f5e1aa2..d55aff8 100644 (file)
@@ -7,9 +7,9 @@ support for multiple --compare-dest options).
 
 You must run "make proto" before compiling.
 
 
 You must run "make proto" before compiling.
 
---- orig/generator.c   2004-07-29 16:49:44
+--- orig/generator.c   2004-08-03 15:41:32
 +++ generator.c        2004-07-30 07:18:03
 +++ generator.c        2004-07-30 07:18:03
-@@ -250,13 +250,13 @@ static void generate_and_send_sums(int f
+@@ -249,13 +249,13 @@ static void generate_and_send_sums(int f
   * out.  It might be wrong.
   */
  static void recv_generator(char *fname, struct file_struct *file, int i,
   * out.  It might be wrong.
   */
  static void recv_generator(char *fname, struct file_struct *file, int i,
@@ -27,7 +27,7 @@ You must run "make proto" before compiling.
  
        if (list_only)
                return;
  
        if (list_only)
                return;
-@@ -412,6 +412,7 @@ static void recv_generator(char *fname, 
+@@ -411,6 +411,7 @@ static void recv_generator(char *fname, 
        }
  
        fnamecmp = fname;
        }
  
        fnamecmp = fname;
@@ -35,7 +35,7 @@ You must run "make proto" before compiling.
  
        if (statret == -1 && compare_dest != NULL) {
                /* try the file at compare_dest instead */
  
        if (statret == -1 && compare_dest != NULL) {
                /* try the file at compare_dest instead */
-@@ -428,10 +429,14 @@ static void recv_generator(char *fname, 
+@@ -427,10 +428,14 @@ static void recv_generator(char *fname, 
                                                        safe_fname(fname));
                                        }
                                        fnamecmp = fnamecmpbuf;
                                                        safe_fname(fname));
                                        }
                                        fnamecmp = fnamecmpbuf;
@@ -50,7 +50,7 @@ You must run "make proto" before compiling.
                        statret = 0;
                }
        }
                        statret = 0;
                }
        }
-@@ -446,11 +451,9 @@ static void recv_generator(char *fname, 
+@@ -445,11 +450,9 @@ static void recv_generator(char *fname, 
        if (statret == -1) {
                if (preserve_hard_links && hard_link_check(file, HL_SKIP))
                        return;
        if (statret == -1) {
                if (preserve_hard_links && hard_link_check(file, HL_SKIP))
                        return;
@@ -65,7 +65,7 @@ You must run "make proto" before compiling.
                        rsyserr(FERROR, stat_errno,
                                "recv_generator: failed to stat %s",
                                full_fname(fname));
                        rsyserr(FERROR, stat_errno,
                                "recv_generator: failed to stat %s",
                                full_fname(fname));
-@@ -458,13 +461,13 @@ static void recv_generator(char *fname, 
+@@ -457,13 +460,13 @@ static void recv_generator(char *fname, 
                return;
        }
  
                return;
        }
  
@@ -81,7 +81,7 @@ You must run "make proto" before compiling.
            && cmp_modtime(st.st_mtime, file->modtime) > 0) {
                if (verbose > 1)
                        rprintf(FINFO, "%s is newer\n", safe_fname(fname));
            && cmp_modtime(st.st_mtime, file->modtime) > 0) {
                if (verbose > 1)
                        rprintf(FINFO, "%s is newer\n", safe_fname(fname));
-@@ -472,21 +475,17 @@ static void recv_generator(char *fname, 
+@@ -471,21 +474,17 @@ static void recv_generator(char *fname, 
        }
  
        if (skip_file(fnamecmp, file, &st)) {
        }
  
        if (skip_file(fnamecmp, file, &st)) {
@@ -109,7 +109,7 @@ You must run "make proto" before compiling.
  
        if (partial_dir) {
                STRUCT_STAT st2;
  
        if (partial_dir) {
                STRUCT_STAT st2;
-@@ -495,6 +494,7 @@ static void recv_generator(char *fname, 
+@@ -494,6 +493,7 @@ static void recv_generator(char *fname, 
                    && S_ISREG(st2.st_mode)) {
                        st = st2;
                        fnamecmp = partialptr;
                    && S_ISREG(st2.st_mode)) {
                        st = st2;
                        fnamecmp = partialptr;
@@ -117,7 +117,7 @@ You must run "make proto" before compiling.
                }
        }
  
                }
        }
  
-@@ -507,9 +507,8 @@ static void recv_generator(char *fname, 
+@@ -506,9 +506,8 @@ static void recv_generator(char *fname, 
                /* pretend the file didn't exist */
                if (preserve_hard_links && hard_link_check(file, HL_SKIP))
                        return;
                /* pretend the file didn't exist */
                if (preserve_hard_links && hard_link_check(file, HL_SKIP))
                        return;
@@ -129,7 +129,7 @@ You must run "make proto" before compiling.
        }
  
        if (verbose > 3) {
        }
  
        if (verbose > 3) {
-@@ -520,14 +519,28 @@ static void recv_generator(char *fname, 
+@@ -519,14 +518,28 @@ static void recv_generator(char *fname, 
        if (verbose > 2)
                rprintf(FINFO, "generating and sending sums for %d\n", i);
  
        if (verbose > 2)
                rprintf(FINFO, "generating and sending sums for %d\n", i);
  
@@ -162,7 +162,7 @@ You must run "make proto" before compiling.
  {
        int i;
        int phase = 0;
  {
        int i;
        int phase = 0;
-@@ -568,7 +581,7 @@ void generate_files(int f_out, struct fi
+@@ -567,7 +580,7 @@ void generate_files(int f_out, struct fi
                }
  
                recv_generator(local_name ? local_name : f_name_to(file, fbuf),
                }
  
                recv_generator(local_name ? local_name : f_name_to(file, fbuf),
@@ -171,7 +171,7 @@ You must run "make proto" before compiling.
        }
  
        phase++;
        }
  
        phase++;
-@@ -585,7 +598,7 @@ void generate_files(int f_out, struct fi
+@@ -584,7 +597,7 @@ void generate_files(int f_out, struct fi
        while ((i = get_redo_num()) != -1) {
                struct file_struct *file = flist->files[i];
                recv_generator(local_name ? local_name : f_name_to(file, fbuf),
        while ((i = get_redo_num()) != -1) {
                struct file_struct *file = flist->files[i];
                recv_generator(local_name ? local_name : f_name_to(file, fbuf),
@@ -180,7 +180,7 @@ You must run "make proto" before compiling.
        }
  
        phase++;
        }
  
        phase++;
-@@ -604,7 +617,7 @@ void generate_files(int f_out, struct fi
+@@ -603,7 +616,7 @@ void generate_files(int f_out, struct fi
                if (!file->basename || !S_ISDIR(file->mode))
                        continue;
                recv_generator(local_name ? local_name : f_name(file),
                if (!file->basename || !S_ISDIR(file->mode))
                        continue;
                recv_generator(local_name ? local_name : f_name(file),
@@ -189,9 +189,9 @@ You must run "make proto" before compiling.
        }
  
        if (verbose > 2)
        }
  
        if (verbose > 2)
---- orig/main.c        2004-07-29 16:08:03
+--- orig/main.c        2004-07-31 16:41:04
 +++ main.c     2004-07-22 00:10:43
 +++ main.c     2004-07-22 00:10:43
-@@ -58,6 +58,7 @@ extern int filesfrom_fd;
+@@ -59,6 +59,7 @@ extern int filesfrom_fd;
  extern pid_t cleanup_child_pid;
  extern char *files_from;
  extern char *remote_filesfrom_file;
  extern pid_t cleanup_child_pid;
  extern char *files_from;
  extern char *remote_filesfrom_file;
@@ -199,7 +199,7 @@ You must run "make proto" before compiling.
  extern char *rsync_path;
  extern char *shell_cmd;
  extern char *batch_name;
  extern char *rsync_path;
  extern char *shell_cmd;
  extern char *batch_name;
-@@ -456,7 +457,8 @@ static int do_recv(int f_in,int f_out,st
+@@ -457,7 +458,8 @@ static int do_recv(int f_in,int f_out,st
  {
        int pid;
        int status = 0;
  {
        int pid;
        int status = 0;
@@ -207,9 +207,9 @@ You must run "make proto" before compiling.
 +      int error_pipe[2], name_pipe[2];
 +      BOOL need_name_pipe = compare_dest && !dry_run;
  
 +      int error_pipe[2], name_pipe[2];
 +      BOOL need_name_pipe = compare_dest && !dry_run;
  
-       if (preserve_hard_links)
-               init_hard_links(flist);
-@@ -467,8 +469,9 @@ static int do_recv(int f_in,int f_out,st
+       /* The receiving side mustn't obey this, or an existing symlink that
+        * points to an identical file won't be replaced by the referent. */
+@@ -472,8 +474,9 @@ static int do_recv(int f_in,int f_out,st
                        delete_files(flist);
        }
  
                        delete_files(flist);
        }
  
@@ -221,7 +221,7 @@ You must run "make proto" before compiling.
                exit_cleanup(RERR_SOCKETIO);
        }
  
                exit_cleanup(RERR_SOCKETIO);
        }
  
-@@ -476,6 +479,11 @@ static int do_recv(int f_in,int f_out,st
+@@ -481,6 +484,11 @@ static int do_recv(int f_in,int f_out,st
  
        if ((pid = do_fork()) == 0) {
                close(error_pipe[0]);
  
        if ((pid = do_fork()) == 0) {
                close(error_pipe[0]);
@@ -233,7 +233,7 @@ You must run "make proto" before compiling.
                if (f_in != f_out)
                        close(f_out);
  
                if (f_in != f_out)
                        close(f_out);
  
-@@ -485,7 +493,7 @@ static int do_recv(int f_in,int f_out,st
+@@ -490,7 +498,7 @@ static int do_recv(int f_in,int f_out,st
                /* set place to send errors */
                set_msg_fd_out(error_pipe[1]);
  
                /* set place to send errors */
                set_msg_fd_out(error_pipe[1]);
  
@@ -242,7 +242,7 @@ You must run "make proto" before compiling.
                io_flush(FULL_FLUSH);
                report(f_in);
  
                io_flush(FULL_FLUSH);
                report(f_in);
  
-@@ -504,6 +512,11 @@ static int do_recv(int f_in,int f_out,st
+@@ -509,6 +517,11 @@ static int do_recv(int f_in,int f_out,st
                stop_write_batch();
  
        close(error_pipe[1]);
                stop_write_batch();
  
        close(error_pipe[1]);
@@ -254,7 +254,7 @@ You must run "make proto" before compiling.
        if (f_in != f_out)
                close(f_in);
  
        if (f_in != f_out)
                close(f_in);
  
-@@ -511,7 +524,7 @@ static int do_recv(int f_in,int f_out,st
+@@ -516,7 +529,7 @@ static int do_recv(int f_in,int f_out,st
  
        set_msg_fd_in(error_pipe[0]);
  
  
        set_msg_fd_in(error_pipe[0]);
  
@@ -263,7 +263,7 @@ You must run "make proto" before compiling.
  
        get_redo_num(); /* Read final MSG_DONE and any prior messages. */
        report(-1);
  
        get_redo_num(); /* Read final MSG_DONE and any prior messages. */
        report(-1);
---- orig/receiver.c    2004-07-30 07:04:00
+--- orig/receiver.c    2004-08-03 15:34:32
 +++ receiver.c 2004-07-30 07:17:48
 @@ -333,7 +333,8 @@ static void discard_receive_data(int f_i
   * main routine for receiver process.
 +++ receiver.c 2004-07-30 07:17:48
 @@ -333,7 +333,8 @@ static void discard_receive_data(int f_i
   * main routine for receiver process.
@@ -355,7 +355,7 @@ You must run "make proto" before compiling.
                if (fd1 != -1 && do_fstat(fd1,&st) != 0) {
                        rsyserr(FERROR, errno, "fstat %s failed",
                                full_fname(fnamecmp));
                if (fd1 != -1 && do_fstat(fd1,&st) != 0) {
                        rsyserr(FERROR, errno, "fstat %s failed",
                                full_fname(fnamecmp));
---- orig/rsync.h       2004-07-29 16:08:03
+--- orig/rsync.h       2004-08-03 15:41:32
 +++ rsync.h    2004-07-30 07:16:38
 @@ -118,6 +118,9 @@
  #define PDIR_CREATE   1
 +++ rsync.h    2004-07-30 07:16:38
 @@ -118,6 +118,9 @@
  #define PDIR_CREATE   1
index 981ccbb..f0ba55d 100644 (file)
@@ -367,9 +367,9 @@ the file's name.
 +}
 +
 +#endif
 +}
 +
 +#endif
---- orig/options.c     2004-07-29 16:08:03
+--- orig/options.c     2004-08-03 15:41:32
 +++ options.c  2004-07-03 20:20:15
 +++ options.c  2004-07-03 20:20:15
-@@ -126,6 +126,7 @@ char *log_format = NULL;
+@@ -127,6 +127,7 @@ char *log_format = NULL;
  char *password_file = NULL;
  char *rsync_path = RSYNC_PATH;
  char *backup_dir = NULL;
  char *password_file = NULL;
  char *rsync_path = RSYNC_PATH;
  char *backup_dir = NULL;
@@ -377,7 +377,7 @@ the file's name.
  char backup_dir_buf[MAXPATHLEN];
  int rsync_port = RSYNC_PORT;
  int link_dest = 0;
  char backup_dir_buf[MAXPATHLEN];
  int rsync_port = RSYNC_PORT;
  int link_dest = 0;
-@@ -279,6 +280,7 @@ void usage(enum logcode F)
+@@ -280,6 +281,7 @@ void usage(enum logcode F)
    rprintf(F," -T, --temp-dir=DIR          create temporary files in directory DIR\n");
    rprintf(F,"     --compare-dest=DIR      also compare destination files relative to DIR\n");
    rprintf(F,"     --link-dest=DIR         create hardlinks to DIR for unchanged files\n");
    rprintf(F," -T, --temp-dir=DIR          create temporary files in directory DIR\n");
    rprintf(F,"     --compare-dest=DIR      also compare destination files relative to DIR\n");
    rprintf(F,"     --link-dest=DIR         create hardlinks to DIR for unchanged files\n");
@@ -385,7 +385,7 @@ the file's name.
    rprintf(F," -P                          equivalent to --partial --progress\n");
    rprintf(F," -z, --compress              compress file data\n");
    rprintf(F," -C, --cvs-exclude           auto ignore files in the same way CVS does\n");
    rprintf(F," -P                          equivalent to --partial --progress\n");
    rprintf(F," -z, --compress              compress file data\n");
    rprintf(F," -C, --cvs-exclude           auto ignore files in the same way CVS does\n");
-@@ -319,7 +321,7 @@ void usage(enum logcode F)
+@@ -320,7 +322,7 @@ void usage(enum logcode F)
  enum {OPT_VERSION = 1000, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
        OPT_DELETE_AFTER, OPT_DELETE_EXCLUDED, OPT_LINK_DEST,
        OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW,
  enum {OPT_VERSION = 1000, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
        OPT_DELETE_AFTER, OPT_DELETE_EXCLUDED, OPT_LINK_DEST,
        OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW,
@@ -394,7 +394,7 @@ the file's name.
        OPT_REFUSED_BASE = 9000};
  
  static struct poptOption long_options[] = {
        OPT_REFUSED_BASE = 9000};
  
  static struct poptOption long_options[] = {
-@@ -378,6 +380,7 @@ static struct poptOption long_options[] 
+@@ -379,6 +381,7 @@ static struct poptOption long_options[] 
    {"temp-dir",        'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
    {"compare-dest",     0,  POPT_ARG_STRING, &compare_dest, 0, 0, 0 },
    {"link-dest",        0,  POPT_ARG_STRING, &compare_dest,  OPT_LINK_DEST, 0, 0 },
    {"temp-dir",        'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
    {"compare-dest",     0,  POPT_ARG_STRING, &compare_dest, 0, 0, 0 },
    {"link-dest",        0,  POPT_ARG_STRING, &compare_dest,  OPT_LINK_DEST, 0, 0 },
@@ -402,7 +402,7 @@ the file's name.
    /* TODO: Should this take an optional int giving the compression level? */
    {"compress",        'z', POPT_ARG_NONE,   &do_compression, 0, 0, 0 },
    {"daemon",           0,  POPT_ARG_NONE,   &daemon_opt, 0, 0, 0 },
    /* TODO: Should this take an optional int giving the compression level? */
    {"compress",        'z', POPT_ARG_NONE,   &do_compression, 0, 0, 0 },
    {"daemon",           0,  POPT_ARG_NONE,   &daemon_opt, 0, 0, 0 },
-@@ -605,6 +608,19 @@ int parse_arguments(int *argc, const cha
+@@ -618,6 +621,19 @@ int parse_arguments(int *argc, const cha
                        return 0;
  #endif
  
                        return 0;
  #endif
  
@@ -422,7 +422,7 @@ the file's name.
                default:
                        /* A large opt value means that set_refuse_options()
                         * turned this option off (opt-BASE is its index). */
                default:
                        /* A large opt value means that set_refuse_options()
                         * turned this option off (opt-BASE is its index). */
-@@ -1030,6 +1046,11 @@ void server_options(char **args,int *arg
+@@ -1076,6 +1092,11 @@ void server_options(char **args,int *arg
                args[ac++] = compare_dest;
        }
  
                args[ac++] = compare_dest;
        }
  
@@ -434,9 +434,9 @@ the file's name.
        if (files_from && (!am_sender || remote_filesfrom_file)) {
                if (remote_filesfrom_file) {
                        args[ac++] = "--files-from";
        if (files_from && (!am_sender || remote_filesfrom_file)) {
                if (remote_filesfrom_file) {
                        args[ac++] = "--files-from";
---- orig/receiver.c    2004-07-29 16:08:03
+--- orig/receiver.c    2004-08-03 15:34:32
 +++ receiver.c 2004-07-20 21:44:05
 +++ receiver.c 2004-07-20 21:44:05
-@@ -40,6 +40,7 @@ extern int io_error;
+@@ -39,6 +39,7 @@ extern int io_error;
  extern char *tmpdir;
  extern char *partial_dir;
  extern char *compare_dest;
  extern char *tmpdir;
  extern char *partial_dir;
  extern char *compare_dest;
@@ -444,7 +444,7 @@ the file's name.
  extern int make_backups;
  extern int do_progress;
  extern char *backup_dir;
  extern int make_backups;
  extern int do_progress;
  extern char *backup_dir;
-@@ -207,12 +208,13 @@ static int get_tmpname(char *fnametmp, c
+@@ -206,12 +207,13 @@ static int get_tmpname(char *fnametmp, c
  
  
  static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
  
  
  static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
@@ -505,7 +505,7 @@ the file's name.
  }
  
  
  }
  
  
-@@ -546,8 +557,12 @@ int recv_files(int f_in, struct file_lis
+@@ -541,8 +552,12 @@ int recv_files(int f_in, struct file_lis
                        rprintf(FINFO, "%s\n", safe_fname(fname));
  
                /* recv file data */
                        rprintf(FINFO, "%s\n", safe_fname(fname));
  
                /* recv file data */
@@ -519,17 +519,17 @@ the file's name.
  
                log_recv(file, &initial_stats);
  
  
                log_recv(file, &initial_stats);
  
---- orig/rsync.c       2004-07-26 16:06:53
+--- orig/rsync.c       2004-07-31 16:41:04
 +++ rsync.c    2004-07-16 20:16:53
 +++ rsync.c    2004-07-16 20:16:53
-@@ -33,6 +33,7 @@ extern int preserve_gid;
- extern int force_delete;
+@@ -34,6 +34,7 @@ extern int force_delete;
  extern int recurse;
  extern int recurse;
+ extern int keep_dirlinks;
  extern int make_backups;
 +extern char *link_by_hash_dir;
  extern char *backup_dir;
  extern int inplace;
  
  extern int make_backups;
 +extern char *link_by_hash_dir;
  extern char *backup_dir;
  extern int inplace;
  
-@@ -249,6 +250,12 @@ void finish_transfer(char *fname, char *
+@@ -251,6 +252,12 @@ void finish_transfer(char *fname, char *
        /* move tmp file over real file */
        if (verbose > 2)
                rprintf(FINFO, "renaming %s to %s\n", fnametmp, fname);
        /* move tmp file over real file */
        if (verbose > 2)
                rprintf(FINFO, "renaming %s to %s\n", fnametmp, fname);
@@ -542,7 +542,7 @@ the file's name.
        ret = robust_rename(fnametmp, fname, file->mode & INITACCESSPERMS);
        if (ret < 0) {
                rsyserr(FERROR, errno, "%s %s -> \"%s\"",
        ret = robust_rename(fnametmp, fname, file->mode & INITACCESSPERMS);
        if (ret < 0) {
                rsyserr(FERROR, errno, "%s %s -> \"%s\"",
---- orig/rsync.h       2004-07-29 16:08:03
+--- orig/rsync.h       2004-08-03 15:41:32
 +++ rsync.h    2004-07-03 20:20:15
 @@ -525,6 +525,14 @@ struct stats {
        int current_file_index;
 +++ rsync.h    2004-07-03 20:20:15
 @@ -525,6 +525,14 @@ struct stats {
        int current_file_index;
index 6a984c4..6508a58 100644 (file)
@@ -4,7 +4,7 @@ command before "make":
     make proto
 
 
     make proto
 
 
---- orig/io.c  2004-07-29 16:08:03
+--- orig/io.c  2004-08-02 02:44:26
 +++ io.c       2004-07-03 20:17:10
 @@ -240,6 +240,14 @@ static void read_msg_fd(void)
                read_loop(fd, buf, 4);
 +++ io.c       2004-07-03 20:17:10
 @@ -240,6 +240,14 @@ static void read_msg_fd(void)
                read_loop(fd, buf, 4);
@@ -38,7 +38,7 @@ command before "make":
                case MSG_INFO:
                case MSG_ERROR:
                        if (remaining >= sizeof line) {
                case MSG_INFO:
                case MSG_ERROR:
                        if (remaining >= sizeof line) {
---- orig/main.c        2004-07-29 16:08:03
+--- orig/main.c        2004-07-31 16:41:04
 +++ main.c     2004-07-22 03:06:20
 @@ -42,6 +42,7 @@ extern int list_only;
  extern int local_server;
 +++ main.c     2004-07-22 03:06:20
 @@ -42,6 +42,7 @@ extern int list_only;
  extern int local_server;
@@ -46,9 +46,9 @@ command before "make":
  extern int module_id;
 +extern int need_messages_from_generator;
  extern int orig_umask;
  extern int module_id;
 +extern int need_messages_from_generator;
  extern int orig_umask;
+ extern int copy_links;
  extern int keep_dirlinks;
  extern int keep_dirlinks;
- extern int preserve_hard_links;
-@@ -612,6 +613,8 @@ void start_server(int f_in, int f_out, i
+@@ -617,6 +618,8 @@ void start_server(int f_in, int f_out, i
  
        if (am_sender) {
                keep_dirlinks = 0; /* Must be disabled on the sender. */
  
        if (am_sender) {
                keep_dirlinks = 0; /* Must be disabled on the sender. */
@@ -57,7 +57,7 @@ command before "make":
  
                recv_exclude_list(f_in);
                if (cvs_exclude)
  
                recv_exclude_list(f_in);
                if (cvs_exclude)
-@@ -683,6 +686,9 @@ int client_run(int f_in, int f_out, pid_
+@@ -688,6 +691,9 @@ int client_run(int f_in, int f_out, pid_
                exit_cleanup(status);
        }
  
                exit_cleanup(status);
        }
  
@@ -67,9 +67,9 @@ command before "make":
        if (argc == 0)
                list_only = 1;
  
        if (argc == 0)
                list_only = 1;
  
---- orig/options.c     2004-07-29 16:08:03
+--- orig/options.c     2004-08-03 15:41:32
 +++ options.c  2004-07-16 20:09:54
 +++ options.c  2004-07-16 20:09:54
-@@ -87,8 +87,10 @@ int size_only = 0;
+@@ -88,8 +88,10 @@ int size_only = 0;
  int bwlimit = 0;
  size_t bwlimit_writemax = 0;
  int delete_after = 0;
  int bwlimit = 0;
  size_t bwlimit_writemax = 0;
  int delete_after = 0;
@@ -80,7 +80,7 @@ command before "make":
  int max_delete = 0;
  int ignore_errors = 0;
  int modify_window = 0;
  int max_delete = 0;
  int ignore_errors = 0;
  int modify_window = 0;
-@@ -266,6 +268,7 @@ void usage(enum logcode F)
+@@ -267,6 +269,7 @@ void usage(enum logcode F)
    rprintf(F,"     --delete                delete files that don't exist on the sending side\n");
    rprintf(F,"     --delete-excluded       also delete excluded files on the receiving side\n");
    rprintf(F,"     --delete-after          receiver deletes after transferring, not before\n");
    rprintf(F,"     --delete                delete files that don't exist on the sending side\n");
    rprintf(F,"     --delete-excluded       also delete excluded files on the receiving side\n");
    rprintf(F,"     --delete-after          receiver deletes after transferring, not before\n");
@@ -88,7 +88,7 @@ command before "make":
    rprintf(F,"     --ignore-errors         delete even if there are I/O errors\n");
    rprintf(F,"     --max-delete=NUM        don't delete more than NUM files\n");
    rprintf(F,"     --partial               keep partially transferred files\n");
    rprintf(F,"     --ignore-errors         delete even if there are I/O errors\n");
    rprintf(F,"     --max-delete=NUM        don't delete more than NUM files\n");
    rprintf(F,"     --partial               keep partially transferred files\n");
-@@ -317,8 +320,8 @@ void usage(enum logcode F)
+@@ -318,8 +321,8 @@ void usage(enum logcode F)
  }
  
  enum {OPT_VERSION = 1000, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
  }
  
  enum {OPT_VERSION = 1000, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
@@ -99,7 +99,7 @@ command before "make":
        OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT,
        OPT_REFUSED_BASE = 9000};
  
        OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT,
        OPT_REFUSED_BASE = 9000};
  
-@@ -337,6 +340,7 @@ static struct poptOption long_options[] 
+@@ -338,6 +341,7 @@ static struct poptOption long_options[] 
    {"ignore-existing",  0,  POPT_ARG_NONE,   &opt_ignore_existing, 0, 0, 0 },
    {"delete-after",     0,  POPT_ARG_NONE,   0,              OPT_DELETE_AFTER, 0, 0 },
    {"delete-excluded",  0,  POPT_ARG_NONE,   0,              OPT_DELETE_EXCLUDED, 0, 0 },
    {"ignore-existing",  0,  POPT_ARG_NONE,   &opt_ignore_existing, 0, 0, 0 },
    {"delete-after",     0,  POPT_ARG_NONE,   0,              OPT_DELETE_AFTER, 0, 0 },
    {"delete-excluded",  0,  POPT_ARG_NONE,   0,              OPT_DELETE_EXCLUDED, 0, 0 },
@@ -107,7 +107,7 @@ command before "make":
    {"force",            0,  POPT_ARG_NONE,   &force_delete, 0, 0, 0 },
    {"numeric-ids",      0,  POPT_ARG_NONE,   &numeric_ids, 0, 0, 0 },
    {"exclude",          0,  POPT_ARG_STRING, 0,              OPT_EXCLUDE, 0, 0 },
    {"force",            0,  POPT_ARG_NONE,   &force_delete, 0, 0, 0 },
    {"numeric-ids",      0,  POPT_ARG_NONE,   &numeric_ids, 0, 0, 0 },
    {"exclude",          0,  POPT_ARG_STRING, 0,              OPT_EXCLUDE, 0, 0 },
-@@ -524,6 +528,11 @@ int parse_arguments(int *argc, const cha
+@@ -537,6 +541,11 @@ int parse_arguments(int *argc, const cha
                        delete_mode = 1;
                        break;
  
                        delete_mode = 1;
                        break;
  
@@ -119,7 +119,7 @@ command before "make":
                case OPT_EXCLUDE:
                        if (am_server || sanitize_paths)
                                return 0; /* Impossible... */
                case OPT_EXCLUDE:
                        if (am_server || sanitize_paths)
                                return 0; /* Impossible... */
-@@ -1042,6 +1051,9 @@ void server_options(char **args,int *arg
+@@ -1088,6 +1097,9 @@ void server_options(char **args,int *arg
                }
        }
  
                }
        }
  
@@ -129,9 +129,9 @@ command before "make":
        *argc = ac;
        return;
  
        *argc = ac;
        return;
  
---- orig/receiver.c    2004-07-29 16:08:03
+--- orig/receiver.c    2004-08-03 15:34:32
 +++ receiver.c 2004-07-29 16:11:11
 +++ receiver.c 2004-07-29 16:11:11
-@@ -46,6 +46,7 @@ extern char *backup_dir;
+@@ -45,6 +45,7 @@ extern char *backup_dir;
  extern char *backup_suffix;
  extern int backup_suffix_len;
  extern int cleanup_got_literal;
  extern char *backup_suffix;
  extern int backup_suffix_len;
  extern int cleanup_got_literal;
@@ -148,7 +148,7 @@ command before "make":
        char fnamecmpbuf[MAXPATHLEN];
        struct file_struct *file;
        struct stats initial_stats;
        char fnamecmpbuf[MAXPATHLEN];
        struct file_struct *file;
        struct stats initial_stats;
-@@ -576,7 +577,12 @@ int recv_files(int f_in, struct file_lis
+@@ -571,7 +572,12 @@ int recv_files(int f_in, struct file_lis
  
                cleanup_disable();
  
  
                cleanup_disable();
  
@@ -162,7 +162,7 @@ command before "make":
                        int msgtype = csum_length == SUM_LENGTH || read_batch ?
                                FERROR : FINFO;
                        if (msgtype == FERROR || verbose) {
                        int msgtype = csum_length == SUM_LENGTH || read_batch ?
                                FERROR : FINFO;
                        if (msgtype == FERROR || verbose) {
-@@ -600,9 +606,8 @@ int recv_files(int f_in, struct file_lis
+@@ -595,9 +601,8 @@ int recv_files(int f_in, struct file_lis
                                        keptstr, redostr);
                        }
                        if (csum_length != SUM_LENGTH) {
                                        keptstr, redostr);
                        }
                        if (csum_length != SUM_LENGTH) {
@@ -174,7 +174,7 @@ command before "make":
                        }
                }
        }
                        }
                }
        }
---- orig/rsync.h       2004-07-29 16:08:03
+--- orig/rsync.h       2004-08-03 15:41:32
 +++ rsync.h    2004-07-03 20:17:10
 @@ -60,6 +60,7 @@
  #define FLAG_TOP_DIR (1<<0)
 +++ rsync.h    2004-07-03 20:17:10
 @@ -60,6 +60,7 @@
  #define FLAG_TOP_DIR (1<<0)
@@ -192,7 +192,7 @@ command before "make":
        MSG_DONE=5,     /* current phase is done */
        MSG_REDO=4,     /* reprocess indicated flist index */
        MSG_ERROR=FERROR, MSG_INFO=FINFO, MSG_LOG=FLOG, /* remote logging */
        MSG_DONE=5,     /* current phase is done */
        MSG_REDO=4,     /* reprocess indicated flist index */
        MSG_ERROR=FERROR, MSG_INFO=FINFO, MSG_LOG=FLOG, /* remote logging */
---- orig/rsync.yo      2004-07-29 16:08:04
+--- orig/rsync.yo      2004-08-03 15:34:32
 +++ rsync.yo   2004-07-03 20:17:10
 @@ -314,6 +314,7 @@ verb(
       --delete                delete files that don't exist on sender
 +++ rsync.yo   2004-07-03 20:17:10
 @@ -314,6 +314,7 @@ verb(
       --delete                delete files that don't exist on sender
@@ -202,7 +202,7 @@ command before "make":
       --ignore-errors         delete even if there are I/O errors
       --max-delete=NUM        don't delete more than NUM files
       --partial               keep partially transferred files
       --ignore-errors         delete even if there are I/O errors
       --max-delete=NUM        don't delete more than NUM files
       --partial               keep partially transferred files
-@@ -619,6 +620,11 @@ receiving side before transferring files
+@@ -625,6 +626,11 @@ receiving side before transferring files
  sufficient space on the receiving filesystem. If you want to delete
  after transferring, use the --delete-after switch. Implies --delete.
  
  sufficient space on the receiving filesystem. If you want to delete
  after transferring, use the --delete-after switch. Implies --delete.
  
@@ -214,7 +214,7 @@ command before "make":
  dit(bf(--ignore-errors)) Tells --delete to go ahead and delete files
  even when there are I/O errors.
  
  dit(bf(--ignore-errors)) Tells --delete to go ahead and delete files
  even when there are I/O errors.
  
---- orig/sender.c      2004-07-26 16:27:00
+--- orig/sender.c      2004-08-03 15:34:32
 +++ sender.c   2004-07-26 16:49:19
 @@ -26,6 +26,7 @@ extern int io_error;
  extern int dry_run;
 +++ sender.c   2004-07-26 16:49:19
 @@ -26,6 +26,7 @@ extern int io_error;
  extern int dry_run;
@@ -263,7 +263,7 @@ command before "make":
        while (1) {
                unsigned int offset;
  
        while (1) {
                unsigned int offset;
  
-@@ -248,6 +273,9 @@ void send_files(struct file_list *flist,
+@@ -252,6 +277,9 @@ void send_files(struct file_list *flist,
                        rprintf(FINFO, "sender finished %s\n",
                                safe_fname(fname));
                }
                        rprintf(FINFO, "sender finished %s\n",
                                safe_fname(fname));
                }