From 37da98ae5f724a90b8413a6a03f62456f0163a41 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sat, 1 Jan 2005 21:21:02 +0000 Subject: [PATCH] Fixed fuzzy hunks. --- atimes.diff | 36 ++++++++++++++++----------------- filter.diff | 46 +++++++++++++++++++++--------------------- fuzzy.diff | 32 ++++++++++++++--------------- ignore-case.diff | 8 ++++---- remove-sent-files.diff | 32 ++++++++++++++--------------- 5 files changed, 77 insertions(+), 77 deletions(-) diff --git a/atimes.diff b/atimes.diff index d1d5147..d212c27 100644 --- a/atimes.diff +++ b/atimes.diff @@ -15,7 +15,7 @@ command before "make": rprintf(FINFO, "flist->length=%.0f\n", (double) fptr[i]->length); rprintf(FINFO, "flist->mode=%#o\n", (int) fptr[i]->mode); ---- orig/flist.c 2004-09-21 09:40:27 +--- orig/flist.c 2005-01-01 21:11:00 +++ flist.c 2004-07-03 20:15:41 @@ -59,6 +59,7 @@ extern int relative_paths; extern int implied_dirs; @@ -120,7 +120,7 @@ command before "make": file->length = file_length; file->mode = mode; file->uid = uid; -@@ -868,6 +882,7 @@ skip_excludes: +@@ -873,6 +887,7 @@ skip_excludes: file->flags = flags; file->modtime = st.st_mtime; @@ -128,9 +128,9 @@ command before "make": file->length = st.st_size; file->mode = st.st_mode; file->uid = st.st_uid; ---- orig/generator.c 2004-11-03 20:30:45 +--- orig/generator.c 2005-01-01 21:11:00 +++ generator.c 2004-11-03 23:02:12 -@@ -92,7 +92,7 @@ static int skip_file(char *fname, struct +@@ -96,7 +96,7 @@ static int unchanged_file(char *fn, stru if (ignore_times) return 0; @@ -139,7 +139,7 @@ command before "make": } -@@ -486,7 +486,7 @@ static void recv_generator(char *fname, +@@ -513,7 +513,7 @@ static void recv_generator(char *fname, } if (update_only && fnamecmp_type == FNAMECMP_FNAME @@ -148,7 +148,7 @@ command before "make": if (verbose > 1) rprintf(FINFO, "%s is newer\n", safe_fname(fname)); return; ---- orig/options.c 2004-10-14 17:11:40 +--- orig/options.c 2005-01-01 21:11:00 +++ options.c 2004-07-03 20:15:41 @@ -48,6 +48,7 @@ int preserve_devices = 0; int preserve_uid = 0; @@ -158,7 +158,7 @@ command before "make": int update_only = 0; int cvs_exclude = 0; int dry_run = 0; -@@ -253,6 +254,7 @@ void usage(enum logcode F) +@@ -260,6 +261,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"); @@ -166,7 +166,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"); -@@ -355,6 +357,7 @@ static struct poptOption long_options[] +@@ -366,6 +368,7 @@ static struct poptOption long_options[] {"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 }, @@ -174,7 +174,7 @@ command before "make": {"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 }, -@@ -1007,6 +1010,8 @@ void server_options(char **args,int *arg +@@ -1081,6 +1084,8 @@ void server_options(char **args,int *arg argstr[x++] = 'D'; if (preserve_times) argstr[x++] = 't'; @@ -230,7 +230,7 @@ command before "make": } change_uid = am_root && preserve_uid && st->st_uid != file->uid; ---- orig/rsync.h 2004-11-03 20:30:45 +--- orig/rsync.h 2005-01-01 21:11:01 +++ rsync.h 2004-07-03 20:15:41 @@ -54,6 +54,7 @@ #define XMIT_HAS_IDEV_DATA (1<<9) @@ -240,7 +240,7 @@ command before "make": /* These flags are used in the live flist data. */ -@@ -112,6 +113,7 @@ +@@ -114,6 +115,7 @@ #define PERMS_REPORT (1<<0) #define PERMS_SKIP_MTIME (1<<1) @@ -248,7 +248,7 @@ command before "make": #define FULL_FLUSH 1 #define NORMAL_FLUSH 0 -@@ -434,6 +436,7 @@ struct file_struct { +@@ -436,6 +438,7 @@ struct file_struct { struct hlink *links; } link_u; time_t modtime; @@ -256,7 +256,7 @@ command before "make": uid_t uid; gid_t gid; mode_t mode; ---- orig/rsync.yo 2004-10-06 00:12:16 +--- orig/rsync.yo 2005-01-01 21:11:01 +++ rsync.yo 2004-07-03 20:15:41 @@ -330,6 +330,7 @@ verb( -g, --group preserve group @@ -266,7 +266,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 -@@ -610,6 +611,11 @@ cause the next transfer to behave as if +@@ -628,6 +629,11 @@ cause the next transfer to behave as if updated (though the rsync algorithm will make the update fairly efficient if the files haven't actually changed, you're much better off using -t). @@ -346,7 +346,7 @@ command before "make": if [ -z "$failed" ] ; then return 0 else ---- orig/tls.c 2004-09-23 05:45:24 +--- orig/tls.c 2005-01-01 21:11:01 +++ tls.c 2004-07-03 20:15:41 @@ -39,6 +39,7 @@ @@ -394,9 +394,9 @@ command before "make": + char mtimebuf[50]; + char atimebuf[50]; char linkbuf[4096]; + int ret; - if (do_lstat(fname, &buf) == -1) -@@ -96,19 +113,8 @@ static void list_file(const char *fname) +@@ -102,19 +119,8 @@ static void list_file(const char *fname) permstring(permbuf, buf.st_mode); @@ -418,7 +418,7 @@ command before "make": /* TODO: Perhaps escape special characters in fname? */ -@@ -119,24 +125,55 @@ static void list_file(const char *fname) +@@ -125,24 +131,55 @@ static void list_file(const char *fname) (long)minor(buf.st_rdev)); } else /* NB: use double for size since it might not fit in a long. */ printf("%12.0f", (double)buf.st_size); diff --git a/filter.diff b/filter.diff index 590cda9..98b449d 100644 --- a/filter.diff +++ b/filter.diff @@ -32,9 +32,9 @@ that's how you can make rules local instead of inherited). ..wayne.. ---- orig/clientserver.c 2004-11-27 18:27:35 +--- orig/clientserver.c 2005-01-01 21:11:00 +++ clientserver.c 2004-08-10 15:44:15 -@@ -48,12 +48,14 @@ extern int no_detach; +@@ -49,12 +49,14 @@ extern int no_detach; extern int default_af_hint; extern char *bind_address; extern struct exclude_list_struct server_exclude_list; @@ -50,7 +50,7 @@ that's how you can make rules local instead of inherited). /** * Run a client connected to an rsyncd. The alternative to this * function for remote-shell connections is do_cmd(). -@@ -300,26 +302,28 @@ static int rsync_module(int f_in, int f_ +@@ -304,26 +306,28 @@ static int rsync_module(int f_in, int f_ /* TODO: Perhaps take a list of gids, and make them into the * supplementary groups. */ @@ -739,7 +739,7 @@ that's how you can make rules local instead of inherited). add_exclude(&exclude_list, default_cvsignore, XFLG_WORD_SPLIT | XFLG_WORDS_ONLY); ---- orig/flist.c 2004-09-21 09:40:27 +--- orig/flist.c 2005-01-01 21:11:00 +++ flist.c 2004-08-12 18:59:28 @@ -40,10 +40,9 @@ extern int module_id; extern int ignore_errors; @@ -782,7 +782,7 @@ that's how you can make rules local instead of inherited). return 1; return 0; } -@@ -978,15 +971,7 @@ void send_file_name(int f, struct file_l +@@ -983,15 +976,7 @@ void send_file_name(int f, struct file_l if (recursive && S_ISDIR(file->mode) && !(file->flags & FLAG_MOUNT_POINT)) { @@ -798,7 +798,7 @@ that's how you can make rules local instead of inherited). } } -@@ -997,6 +982,7 @@ static void send_directory(int f, struct +@@ -1002,6 +987,7 @@ static void send_directory(int f, struct struct dirent *di; char fname[MAXPATHLEN]; unsigned int offset; @@ -806,7 +806,7 @@ that's how you can make rules local instead of inherited). char *p; d = opendir(dir); -@@ -1020,18 +1006,7 @@ static void send_directory(int f, struct +@@ -1025,18 +1011,7 @@ static void send_directory(int f, struct offset++; } @@ -826,7 +826,7 @@ that's how you can make rules local instead of inherited). for (errno = 0, di = readdir(d); di; errno = 0, di = readdir(d)) { char *dname = d_name(di); -@@ -1052,6 +1027,8 @@ static void send_directory(int f, struct +@@ -1057,6 +1032,8 @@ static void send_directory(int f, struct rsyserr(FERROR, errno, "readdir(%s)", dir); } @@ -835,7 +835,7 @@ that's how you can make rules local instead of inherited). closedir(d); } -@@ -1071,6 +1048,7 @@ struct file_list *send_file_list(int f, +@@ -1076,6 +1053,7 @@ struct file_list *send_file_list(int f, char *p, *dir, olddir[sizeof curr_dir]; char lastpath[MAXPATHLEN] = ""; struct file_list *flist; @@ -843,7 +843,7 @@ that's how you can make rules local instead of inherited). int64 start_write; int use_ff_fd = 0; -@@ -1091,6 +1069,10 @@ struct file_list *send_file_list(int f, +@@ -1096,6 +1074,10 @@ struct file_list *send_file_list(int f, exit_cleanup(RERR_FILESELECT); } use_ff_fd = 1; @@ -854,7 +854,7 @@ that's how you can make rules local instead of inherited). } } -@@ -1121,6 +1103,15 @@ struct file_list *send_file_list(int f, +@@ -1126,6 +1108,15 @@ struct file_list *send_file_list(int f, } } @@ -870,7 +870,7 @@ that's how you can make rules local instead of inherited). if (link_stat(fname, &st, keep_dirlinks) != 0) { if (f != -1) { io_error |= IOERR_GENERAL; ---- orig/options.c 2004-11-27 18:27:35 +--- orig/options.c 2005-01-01 21:11:00 +++ options.c 2004-10-14 17:26:10 @@ -296,6 +296,7 @@ void usage(enum logcode F) rprintf(F," --include=PATTERN don't exclude files matching PATTERN\n"); @@ -879,16 +879,16 @@ that's how you can make rules local instead of inherited). + rprintf(F," -E same as --exclude='. -p /.rsync-excludes'\n"); rprintf(F," -0, --from0 all *-from file lists are delimited by nulls\n"); rprintf(F," --version print version number\n"); - rprintf(F," --blocking-io use blocking I/O for the remote shell\n"); -@@ -392,6 +393,7 @@ static struct poptOption long_options[] + rprintf(F," --port=PORT specify double-colon alternate port number\n"); +@@ -393,6 +394,7 @@ static struct poptOption long_options[] {"ignore-errors", 0, POPT_ARG_NONE, &ignore_errors, 0, 0, 0 }, {"blocking-io", 0, POPT_ARG_VAL, &blocking_io, 1, 0, 0 }, {"no-blocking-io", 0, POPT_ARG_VAL, &blocking_io, 0, 0, 0 }, + {0, 'E', POPT_ARG_NONE, 0, 'E', 0, 0 }, {0, 'P', POPT_ARG_NONE, 0, 'P', 0, 0 }, + {"port", 0, POPT_ARG_INT, &rsync_port, 0, 0, 0 }, {"log-format", 0, POPT_ARG_STRING, &log_format, 0, 0, 0 }, - {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 }, -@@ -667,6 +669,11 @@ int parse_arguments(int *argc, const cha +@@ -668,6 +670,11 @@ int parse_arguments(int *argc, const cha am_sender = 1; break; @@ -900,7 +900,7 @@ that's how you can make rules local instead of inherited). case 'P': do_progress = 1; keep_partial = 1; ---- orig/rsync.h 2004-11-27 17:53:24 +--- orig/rsync.h 2005-01-01 21:11:01 +++ rsync.h 2004-09-22 08:48:53 @@ -111,6 +111,7 @@ #define XFLG_WORDS_ONLY (1<<2) @@ -930,7 +930,7 @@ that's how you can make rules local instead of inherited). }; struct exclude_list_struct { ---- orig/rsync.yo 2004-11-27 17:53:24 +--- orig/rsync.yo 2005-01-01 21:11:01 +++ rsync.yo 2004-08-13 00:43:31 @@ -366,6 +366,7 @@ verb( --include=PATTERN don't exclude files matching PATTERN @@ -939,8 +939,8 @@ that's how you can make rules local instead of inherited). + -E same as --exclude='. -p /.rsync-excludes' -0 --from0 all file lists are delimited by nulls --version print version number - --blocking-io use blocking I/O for the remote shell -@@ -1076,24 +1077,32 @@ The exclude and include patterns specifi + --port=PORT specify double-colon alternate port number +@@ -1105,24 +1106,32 @@ The exclude and include patterns specifi selection of which files to transfer and which files to skip. Rsync builds an ordered list of include/exclude options as specified on @@ -981,7 +981,7 @@ that's how you can make rules local instead of inherited). Let's say that we want to match two source files, one with an absolute path of "/home/me/foo/bar", and one with a path of "/home/you/bar/baz". -@@ -1140,23 +1149,27 @@ because rsync did not descend through th +@@ -1169,23 +1178,27 @@ because rsync did not descend through th hierarchy. Note also that the --include and --exclude options take one pattern @@ -1020,7 +1020,7 @@ that's how you can make rules local instead of inherited). it() if the pattern ends with a / then it will only match a directory, not a file, link, or device. -@@ -1169,22 +1182,31 @@ itemize( +@@ -1198,22 +1211,31 @@ itemize( single asterisk pattern "*" will stop at slashes. it() if the pattern contains a / (not counting a trailing /) or a "**" @@ -1056,7 +1056,7 @@ that's how you can make rules local instead of inherited). ) The +/- rules are most useful in a list that was read from a file, allowing -@@ -1231,8 +1253,160 @@ itemize( +@@ -1260,8 +1282,160 @@ itemize( it() --include "*/" --include "*.c" --exclude "*" would include all directories and C source files it() --include "foo/" --include "foo/bar.c" --exclude "*" would include diff --git a/fuzzy.diff b/fuzzy.diff index 485f9d9..828575c 100644 --- a/fuzzy.diff +++ b/fuzzy.diff @@ -4,7 +4,7 @@ Lightly tested. Be sure to run "make proto" before "make". ---- orig/generator.c 2004-11-27 17:53:24 +--- orig/generator.c 2005-01-01 21:11:00 +++ generator.c 2004-11-27 18:12:57 @@ -44,6 +44,7 @@ extern int size_only; extern OFF_T max_size; @@ -14,7 +14,7 @@ Be sure to run "make proto" before "make". extern int always_checksum; extern char *partial_dir; extern char *basis_dir[]; -@@ -247,6 +248,92 @@ static void generate_and_send_sums(int f +@@ -239,6 +240,92 @@ static void generate_and_send_sums(int f } @@ -107,7 +107,7 @@ Be sure to run "make proto" before "make". /* * Acts on file number @p i from @p flist, whose name is @p fname. -@@ -501,6 +588,15 @@ static void recv_generator(char *fname, +@@ -493,6 +580,15 @@ static void recv_generator(char *fname, } else partialptr = NULL; @@ -123,7 +123,7 @@ Be sure to run "make proto" before "make". if (statret == -1) { if (preserve_hard_links && hard_link_check(file, HL_SKIP)) return; -@@ -529,6 +625,8 @@ static void recv_generator(char *fname, +@@ -521,6 +617,8 @@ static void recv_generator(char *fname, if ((link_dest || copy_dest) && fnamecmp_type != FNAMECMP_FNAME) ; @@ -132,7 +132,7 @@ Be sure to run "make proto" before "make". else if (unchanged_file(fnamecmp, file, &st)) { if (fnamecmp_type == FNAMECMP_FNAME) set_perms(fname, file, &st, PERMS_REPORT); -@@ -600,8 +698,24 @@ prepare_to_open: +@@ -592,8 +690,24 @@ prepare_to_open: notify_others: write_int(f_out, i); @@ -158,7 +158,7 @@ Be sure to run "make proto" before "make". if (dry_run || read_batch) return; ---- orig/main.c 2004-11-27 17:53:24 +--- orig/main.c 2005-01-01 21:11:00 +++ main.c 2004-11-27 18:13:51 @@ -48,6 +48,7 @@ extern int keep_dirlinks; extern int preserve_hard_links; @@ -177,7 +177,7 @@ Be sure to run "make proto" before "make". /* 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-11-27 18:27:35 +--- orig/options.c 2005-01-01 21:11:00 +++ options.c 2004-11-29 01:36:48 @@ -86,6 +86,7 @@ int copy_unsafe_links = 0; int size_only = 0; @@ -195,7 +195,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"); -@@ -383,6 +385,7 @@ static struct poptOption long_options[] +@@ -384,6 +386,7 @@ static struct poptOption long_options[] {"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 }, {"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 }, {"link-dest", 0, POPT_ARG_STRING, 0, OPT_LINK_DEST, 0, 0 }, @@ -203,7 +203,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 }, {"stats", 0, POPT_ARG_NONE, &do_stats, 0, 0, 0 }, -@@ -957,10 +960,10 @@ int parse_arguments(int *argc, const cha +@@ -958,10 +961,10 @@ int parse_arguments(int *argc, const cha am_server ? "server" : "client"); return 0; #endif @@ -216,8 +216,8 @@ Be sure to run "make proto" before "make". return 0; } } else { -@@ -1237,6 +1240,9 @@ void server_options(char **args,int *arg - } +@@ -1240,6 +1243,9 @@ void server_options(char **args,int *arg + args[ac++] = "--no-relative"; } + if (fuzzy_basis && am_sender) @@ -226,9 +226,9 @@ Be sure to run "make proto" before "make". *argc = ac; return; ---- orig/receiver.c 2004-11-27 17:57:31 +--- orig/receiver.c 2005-01-01 21:11:00 +++ receiver.c 2004-11-27 18:15:01 -@@ -320,6 +320,27 @@ static int receive_data(int f_in, char * +@@ -323,6 +323,27 @@ static int receive_data(int f_in, char * } @@ -256,7 +256,7 @@ Be sure to run "make proto" before "make". static void discard_receive_data(int f_in, OFF_T length) { receive_data(f_in, NULL, -1, 0, NULL, -1, length); -@@ -450,6 +471,10 @@ int recv_files(int f_in, struct file_lis +@@ -453,6 +474,10 @@ int recv_files(int f_in, struct file_lis case FNAMECMP_BACKUP: fnamecmp = get_backup_name(fname); break; @@ -267,7 +267,7 @@ Be sure to run "make proto" before "make". case FNAMECMP_BASIS_DIR: default: pathjoin(fnamecmpbuf, sizeof fnamecmpbuf, ---- orig/rsync.h 2004-11-27 17:53:24 +--- orig/rsync.h 2005-01-01 21:11:01 +++ rsync.h 2004-11-03 22:53:09 @@ -125,6 +125,7 @@ #define FNAMECMP_FNAME 0x80 @@ -277,7 +277,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-11-29 01:31:40 +--- orig/rsync.yo 2005-01-01 21:11:01 +++ rsync.yo 2004-11-27 18:15:22 @@ -358,6 +358,7 @@ verb( --compare-dest=DIR also compare received files relative to DIR diff --git a/ignore-case.diff b/ignore-case.diff index 106a28e..68ae779 100644 --- a/ignore-case.diff +++ b/ignore-case.diff @@ -35,7 +35,7 @@ in a case-insensitive manner. case '?': /* Match anything but '/'. */ if (*text == '/') ---- orig/options.c 2004-11-27 18:27:35 +--- orig/options.c 2005-01-01 21:11:00 +++ options.c 2004-10-14 17:22:51 @@ -94,6 +94,7 @@ int max_delete = 0; OFF_T max_size = 0; @@ -51,9 +51,9 @@ in a case-insensitive manner. rprintf(F," -0, --from0 all *-from file lists are delimited by nulls\n"); + rprintf(F," --ignore-case ignore case when comparing filenames\n"); rprintf(F," --version print version number\n"); + rprintf(F," --port=PORT specify double-colon alternate port number\n"); rprintf(F," --blocking-io use blocking I/O for the remote shell\n"); - rprintf(F," --no-blocking-io turn off --blocking-io\n"); -@@ -346,6 +348,7 @@ static struct poptOption long_options[] +@@ -347,6 +349,7 @@ static struct poptOption long_options[] {"include", 0, POPT_ARG_STRING, 0, OPT_INCLUDE, 0, 0 }, {"exclude-from", 0, POPT_ARG_STRING, 0, OPT_EXCLUDE_FROM, 0, 0 }, {"include-from", 0, POPT_ARG_STRING, 0, OPT_INCLUDE_FROM, 0, 0 }, @@ -61,7 +61,7 @@ in a case-insensitive manner. {"safe-links", 0, POPT_ARG_NONE, &safe_symlinks, 0, 0, 0 }, {"help", 'h', POPT_ARG_NONE, 0, 'h', 0, 0 }, {"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 0, 0 }, -@@ -1181,6 +1184,9 @@ void server_options(char **args,int *arg +@@ -1182,6 +1185,9 @@ void server_options(char **args,int *arg args[ac++] = arg; } diff --git a/remove-sent-files.diff b/remove-sent-files.diff index 7fe959b..693693f 100644 --- a/remove-sent-files.diff +++ b/remove-sent-files.diff @@ -4,7 +4,7 @@ command before "make": make proto ---- orig/io.c 2004-11-25 16:32:40 +--- orig/io.c 2005-01-01 21:11:00 +++ io.c 2004-07-03 20:17:10 @@ -243,6 +243,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-11-27 17:53:24 +--- orig/main.c 2005-01-01 21:11:00 +++ main.c 2004-08-13 08:24:23 @@ -42,6 +42,7 @@ extern int list_only; extern int local_server; @@ -67,7 +67,7 @@ command before "make": if (argc == 0) list_only = 1; ---- orig/options.c 2004-11-27 17:53:24 +--- orig/options.c 2005-01-01 21:11:00 +++ options.c 2004-11-27 18:04:22 @@ -88,8 +88,10 @@ int daemon_bwlimit = 0; int bwlimit = 0; @@ -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," --max-size=SIZE don't transfer any file larger than SIZE\n"); -@@ -319,7 +322,7 @@ void usage(enum logcode F) +@@ -320,7 +323,7 @@ void usage(enum logcode F) } enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM, @@ -97,7 +97,7 @@ command before "make": OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT, OPT_MAX_SIZE, -@@ -340,6 +343,7 @@ static struct poptOption long_options[] +@@ -341,6 +344,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 }, @@ -105,7 +105,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 }, -@@ -621,6 +625,11 @@ int parse_arguments(int *argc, const cha +@@ -622,6 +626,11 @@ int parse_arguments(int *argc, const cha delete_mode = 1; break; @@ -117,8 +117,8 @@ command before "make": case OPT_EXCLUDE: add_exclude(&exclude_list, poptGetOptArg(pc), 0); break; -@@ -1237,6 +1246,9 @@ void server_options(char **args,int *arg - } +@@ -1240,6 +1249,9 @@ void server_options(char **args,int *arg + args[ac++] = "--no-relative"; } + if (delete_sent_files) @@ -127,7 +127,7 @@ command before "make": *argc = ac; return; ---- orig/receiver.c 2004-11-27 17:57:31 +--- orig/receiver.c 2005-01-01 21:11:00 +++ receiver.c 2004-08-13 08:38:51 @@ -46,6 +46,7 @@ extern char *backup_dir; extern char *backup_suffix; @@ -137,7 +137,7 @@ command before "make": extern int module_id; extern int ignore_errors; extern int orig_umask; -@@ -339,7 +340,7 @@ int recv_files(int f_in, struct file_lis +@@ -342,7 +343,7 @@ int recv_files(int f_in, struct file_lis char *fname, fbuf[MAXPATHLEN]; char template[MAXPATHLEN]; char fnametmp[MAXPATHLEN]; @@ -146,7 +146,7 @@ command before "make": char fnamecmpbuf[MAXPATHLEN]; struct file_struct *file; struct stats initial_stats; -@@ -580,7 +581,12 @@ int recv_files(int f_in, struct file_lis +@@ -583,7 +584,12 @@ int recv_files(int f_in, struct file_lis cleanup_disable(); @@ -160,7 +160,7 @@ command before "make": int msgtype = csum_length == SUM_LENGTH || read_batch ? FERROR : FINFO; if (msgtype == FERROR || verbose) { -@@ -604,9 +610,8 @@ int recv_files(int f_in, struct file_lis +@@ -607,9 +613,8 @@ int recv_files(int f_in, struct file_lis keptstr, redostr); } if (csum_length != SUM_LENGTH) { @@ -172,7 +172,7 @@ command before "make": } } } ---- orig/rsync.h 2004-11-27 17:53:24 +--- orig/rsync.h 2005-01-01 21:11:01 +++ rsync.h 2004-07-03 20:17:10 @@ -60,6 +60,7 @@ #define FLAG_TOP_DIR (1<<0) @@ -190,7 +190,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-11-27 17:53:24 +--- orig/rsync.yo 2005-01-01 21:11:01 +++ rsync.yo 2004-07-03 20:17:10 @@ -343,6 +343,7 @@ verb( --delete delete files that don't exist on sender @@ -200,7 +200,7 @@ command before "make": --ignore-errors delete even if there are I/O errors --max-delete=NUM don't delete more than NUM files --max-size=SIZE don't transfer any file larger than SIZE -@@ -675,6 +676,11 @@ receiving side before transferring files +@@ -684,6 +685,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. @@ -212,7 +212,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-09-20 05:10:48 +--- orig/sender.c 2005-01-01 21:11:01 +++ sender.c 2004-07-26 16:49:19 @@ -26,6 +26,7 @@ extern int io_error; extern int dry_run; -- 2.34.1