From d5753a220d76c6fa93b24845c6569e8bf29fd883 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Tue, 3 Aug 2004 16:13:39 +0000 Subject: [PATCH] Got rid of fuzz. --- chmod-option.diff | 22 +++++++++--------- compare-dest.diff | 36 ++++++++++++++--------------- fuzzy.diff | 28 +++++++++++------------ g2r-basis-filename.diff | 50 ++++++++++++++++++++--------------------- link-by-hash.diff | 32 +++++++++++++------------- remove-sent-files.diff | 42 +++++++++++++++++----------------- 6 files changed, 105 insertions(+), 105 deletions(-) diff --git a/chmod-option.diff b/chmod-option.diff index f6a80b1..f99e2d7 100644 --- a/chmod-option.diff +++ b/chmod-option.diff @@ -202,7 +202,7 @@ command before "make": + } + 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; @@ -233,9 +233,9 @@ command before "make": 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 -@@ -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; @@ -243,7 +243,7 @@ command before "make": 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; @@ -252,7 +252,7 @@ command before "make": 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"); @@ -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"); -@@ -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 }, @@ -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 }, -@@ -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))) { @@ -282,7 +282,7 @@ command before "make": 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; } @@ -294,7 +294,7 @@ command before "make": 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 @@ -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 -@@ -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. diff --git a/compare-dest.diff b/compare-dest.diff index 68388ac..bb2bfaf 100644 --- a/compare-dest.diff +++ b/compare-dest.diff @@ -20,7 +20,7 @@ Before compiling, be sure to run "make proto". 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; @@ -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) { -@@ -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; @@ -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 -@@ -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; @@ -73,18 +73,18 @@ Before compiling, be sure to run "make proto". 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; - 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 -@@ -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; @@ -99,7 +99,7 @@ Before compiling, be sure to run "make proto". 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; @@ -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 -@@ -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, @@ -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}; -@@ -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 }, @@ -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 }, -@@ -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; @@ -156,8 +156,8 @@ Before compiling, be sure to run "make proto". 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) { @@ -168,7 +168,7 @@ Before compiling, be sure to run "make proto". 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); @@ -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) -@@ -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) { @@ -187,7 +187,7 @@ Before compiling, be sure to run "make proto". 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; } @@ -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 -@@ -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; diff --git a/fuzzy.diff b/fuzzy.diff index e9408e1..38df3d6 100644 --- a/fuzzy.diff +++ b/fuzzy.diff @@ -16,7 +16,7 @@ Be sure to run "make proto" before "make". 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. -@@ -448,6 +536,15 @@ static void recv_generator(char *fname, +@@ -447,6 +535,15 @@ static void recv_generator(char *fname, 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; -@@ -474,7 +571,7 @@ static void recv_generator(char *fname, +@@ -473,7 +570,7 @@ static void recv_generator(char *fname, 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; -@@ -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); @@ -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 -@@ -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; @@ -167,18 +167,18 @@ Be sure to run "make proto" before "make". 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; - 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 -@@ -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; @@ -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; -@@ -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"); @@ -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"); -@@ -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 }, @@ -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 }, -@@ -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 ---- 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 diff --git a/g2r-basis-filename.diff b/g2r-basis-filename.diff index f5e1aa2..d55aff8 100644 --- a/g2r-basis-filename.diff +++ b/g2r-basis-filename.diff @@ -7,9 +7,9 @@ support for multiple --compare-dest options). 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 -@@ -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, @@ -27,7 +27,7 @@ You must run "make proto" before compiling. 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; @@ -35,7 +35,7 @@ You must run "make proto" before compiling. 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; @@ -50,7 +50,7 @@ You must run "make proto" before compiling. 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; @@ -65,7 +65,7 @@ You must run "make proto" before compiling. 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; } @@ -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)); -@@ -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)) { @@ -109,7 +109,7 @@ You must run "make proto" before compiling. 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; @@ -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; @@ -129,7 +129,7 @@ You must run "make proto" before compiling. } 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); @@ -162,7 +162,7 @@ You must run "make proto" before compiling. { 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), @@ -171,7 +171,7 @@ You must run "make proto" before compiling. } 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), @@ -180,7 +180,7 @@ You must run "make proto" before compiling. } 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), @@ -189,9 +189,9 @@ You must run "make proto" before compiling. } 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 -@@ -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; @@ -199,7 +199,7 @@ You must run "make proto" before compiling. 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; @@ -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; - 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); } @@ -221,7 +221,7 @@ You must run "make proto" before compiling. 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]); @@ -233,7 +233,7 @@ You must run "make proto" before compiling. 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]); @@ -242,7 +242,7 @@ You must run "make proto" before compiling. 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]); @@ -254,7 +254,7 @@ You must run "make proto" before compiling. 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]); @@ -263,7 +263,7 @@ You must run "make proto" before compiling. 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. @@ -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)); ---- 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 diff --git a/link-by-hash.diff b/link-by-hash.diff index 981ccbb..f0ba55d 100644 --- a/link-by-hash.diff +++ b/link-by-hash.diff @@ -367,9 +367,9 @@ the file's name. +} + +#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 -@@ -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; @@ -377,7 +377,7 @@ the file's name. 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"); @@ -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"); -@@ -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, @@ -394,7 +394,7 @@ the file's name. 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 }, @@ -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 }, -@@ -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 @@ -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). */ -@@ -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; } @@ -434,9 +434,9 @@ the file's name. 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 -@@ -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; @@ -444,7 +444,7 @@ the file's name. 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, @@ -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 */ @@ -519,17 +519,17 @@ the file's name. 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 -@@ -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 keep_dirlinks; 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); @@ -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\"", ---- 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; diff --git a/remove-sent-files.diff b/remove-sent-files.diff index 6a984c4..6508a58 100644 --- a/remove-sent-files.diff +++ b/remove-sent-files.diff @@ -4,7 +4,7 @@ command before "make": 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); @@ -38,7 +38,7 @@ command before "make": 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; @@ -46,9 +46,9 @@ command before "make": extern int module_id; +extern int need_messages_from_generator; extern int orig_umask; + extern int copy_links; 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. */ @@ -57,7 +57,7 @@ command before "make": 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); } @@ -67,9 +67,9 @@ command before "make": 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 -@@ -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; @@ -80,7 +80,7 @@ command before "make": 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"); @@ -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"); -@@ -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, @@ -99,7 +99,7 @@ command before "make": 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 }, @@ -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 }, -@@ -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; @@ -119,7 +119,7 @@ command before "make": 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; ---- 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 -@@ -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; @@ -148,7 +148,7 @@ command before "make": 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(); @@ -162,7 +162,7 @@ command before "make": 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) { @@ -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) @@ -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 */ ---- 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 @@ -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 -@@ -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. @@ -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. ---- 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; @@ -263,7 +263,7 @@ command before "make": 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)); } -- 2.34.1