From afbebe13573dfa3228f5f358798f7b1f84585dc2 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Thu, 29 Jul 2004 16:26:30 +0000 Subject: [PATCH] Got rid of failing or fuzzy hunks. --- early-chmod.diff | 16 +++++++-------- fsync.diff | 24 +++++++++++------------ ignore-case.diff | 20 +++++++++---------- link-by-hash.diff | 44 +++++++++++++++++++++--------------------- max-size.diff | 26 ++++++++++++------------- remove-sent-files.diff | 44 +++++++++++++++++++++--------------------- 6 files changed, 87 insertions(+), 87 deletions(-) diff --git a/early-chmod.diff b/early-chmod.diff index a90f6c2..095d414 100644 --- a/early-chmod.diff +++ b/early-chmod.diff @@ -1,4 +1,4 @@ ---- orig/rsync.c 2004-07-23 17:16:13 +--- orig/rsync.c 2004-07-26 16:06:53 +++ rsync.c 2004-07-26 06:27:27 @@ -246,6 +246,9 @@ void finish_transfer(char *fname, char * goto do_set_perms; @@ -21,7 +21,7 @@ do_set_perms: set_perms(fname, file, NULL, ok_to_set_time ? 0 : PERMS_SKIP_MTIME); } ---- orig/t_stub.c 2004-05-15 20:10:13 +--- orig/t_stub.c 2004-07-29 16:08:04 +++ t_stub.c 2004-07-03 20:17:55 @@ -26,6 +26,7 @@ * functions, so that module test harnesses can run standalone. @@ -30,8 +30,8 @@ +int am_root = 0; int modify_window = 0; int module_id = -1; - struct exclude_list_struct server_exclude_list; ---- orig/util.c 2004-06-09 21:54:47 + char *partial_dir; +--- orig/util.c 2004-07-29 16:08:04 +++ util.c 2004-07-03 20:17:55 @@ -29,6 +29,7 @@ @@ -40,8 +40,8 @@ +extern int am_root; extern int module_id; extern int modify_window; - extern struct exclude_list_struct server_exclude_list; -@@ -263,6 +264,8 @@ int copy_file(char *source, char *dest, + extern char *partial_dir; +@@ -264,6 +265,8 @@ int copy_file(char *source, char *dest, return -1; } @@ -50,7 +50,7 @@ ofd = do_open(dest, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, mode); if (ofd == -1) { rsyserr(FERROR, errno, "open %s", full_fname(dest)); -@@ -361,8 +364,8 @@ int robust_unlink(char *fname) +@@ -362,8 +365,8 @@ int robust_unlink(char *fname) #endif } @@ -61,7 +61,7 @@ int robust_rename(char *from, char *to, int mode) { int tries = 4; -@@ -379,10 +382,12 @@ int robust_rename(char *from, char *to, +@@ -380,10 +383,12 @@ int robust_rename(char *from, char *to, break; #endif case EXDEV: diff --git a/fsync.diff b/fsync.diff index 60d3da9..a5ddfce 100644 --- a/fsync.diff +++ b/fsync.diff @@ -1,7 +1,7 @@ This patch from Sami Farin lets you specify --fsync if you want fsync() to be called on every file we write. ---- orig/options.c 2004-07-20 21:36:07 +--- orig/options.c 2004-07-29 16:08:03 +++ options.c 2004-07-03 20:18:13 @@ -38,6 +38,7 @@ int make_backups = 0; **/ @@ -11,7 +11,7 @@ to be called on every file we write. int archive_mode = 0; int keep_dirlinks = 0; int copy_links = 0; -@@ -238,6 +239,7 @@ void usage(enum logcode F) +@@ -240,6 +241,7 @@ void usage(enum logcode F) rprintf(F," -b, --backup make backups (see --suffix & --backup-dir)\n"); rprintf(F," --backup-dir make backups into this directory\n"); rprintf(F," --suffix=SUFFIX backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX); @@ -19,7 +19,7 @@ to be called on every file we write. rprintf(F," -u, --update update only (don't overwrite newer files)\n"); rprintf(F," --inplace update destination files inplace (SEE MAN PAGE)\n"); rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n"); -@@ -343,6 +345,7 @@ static struct poptOption long_options[] +@@ -346,6 +348,7 @@ static struct poptOption long_options[] {"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 }, @@ -27,7 +27,7 @@ to be called on every file we write. {"dry-run", 'n', POPT_ARG_NONE, &dry_run, 0, 0, 0 }, {"sparse", 'S', POPT_ARG_NONE, &sparse_files, 0, 0, 0 }, {"cvs-exclude", 'C', POPT_ARG_NONE, &cvs_exclude, 0, 0, 0 }, -@@ -998,6 +1001,9 @@ void server_options(char **args,int *arg +@@ -1021,6 +1024,9 @@ void server_options(char **args,int *arg args[ac++] = tmpdir; } @@ -37,17 +37,17 @@ to be called on every file we write. if (compare_dest && am_sender) { /* the server only needs this option if it is not the sender, * and it may be an older version that doesn't know this ---- orig/receiver.c 2004-07-20 21:36:07 +--- orig/receiver.c 2004-07-29 16:08:03 +++ receiver.c 2004-07-16 20:13:31 -@@ -35,6 +35,7 @@ extern int preserve_hard_links; +@@ -37,6 +37,7 @@ extern int preserve_hard_links; extern int preserve_perms; extern int cvs_exclude; extern int io_error; +extern int do_fsync; extern char *tmpdir; + extern char *partial_dir; extern char *compare_dest; - extern int make_backups; -@@ -304,6 +305,12 @@ static int receive_data(int f_in, char * +@@ -309,6 +310,12 @@ static int receive_data(int f_in, char * exit_cleanup(RERR_FILEIO); } @@ -60,17 +60,17 @@ to be called on every file we write. sum_end(file_sum1); if (mapbuf) ---- orig/util.c 2004-06-09 21:54:47 +--- orig/util.c 2004-07-29 16:08:04 +++ util.c 2004-07-03 20:18:13 -@@ -32,6 +32,7 @@ extern int dry_run; - extern int module_id; +@@ -33,6 +33,7 @@ extern int module_id; extern int modify_window; + extern char *partial_dir; extern struct exclude_list_struct server_exclude_list; +extern int do_fsync; int sanitize_paths = 0; -@@ -297,6 +298,12 @@ int copy_file(char *source, char *dest, +@@ -298,6 +299,12 @@ int copy_file(char *source, char *dest, return -1; } diff --git a/ignore-case.diff b/ignore-case.diff index 0677edc..7b317dd 100644 --- a/ignore-case.diff +++ b/ignore-case.diff @@ -60,8 +60,8 @@ NOTE: patch updated for latest CVS source by Wayne Davison, but UNTESTED! continue; case '?': /* Match anything but '/'. */ ---- orig/options.c 2004-07-16 20:07:22 -+++ options.c 2004-07-03 20:19:20 +--- orig/options.c 2004-07-29 16:08:03 ++++ options.c 2004-07-29 16:13:45 @@ -92,6 +92,7 @@ int opt_ignore_existing = 0; int max_delete = 0; int ignore_errors = 0; @@ -70,7 +70,7 @@ NOTE: patch updated for latest CVS source by Wayne Davison, but UNTESTED! int blocking_io = -1; int checksum_seed = 0; int inplace = 0; -@@ -285,6 +286,7 @@ void usage(enum logcode F) +@@ -288,6 +289,7 @@ void usage(enum logcode F) rprintf(F," --include-from=FILE don't exclude patterns listed in FILE\n"); rprintf(F," --files-from=FILE read FILE for list of source-file names\n"); rprintf(F," -0, --from0 all *-from file lists are delimited by nulls\n"); @@ -78,7 +78,7 @@ NOTE: patch updated for latest CVS source by Wayne Davison, but UNTESTED! rprintf(F," --version print version number\n"); rprintf(F," --daemon run as an rsync daemon\n"); rprintf(F," --no-detach do not detach from the parent\n"); -@@ -340,6 +342,7 @@ static struct poptOption long_options[] +@@ -343,6 +345,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 }, @@ -86,19 +86,19 @@ NOTE: patch updated for latest CVS source by Wayne Davison, but UNTESTED! {"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 }, -@@ -963,6 +966,9 @@ void server_options(char **args,int *arg +@@ -983,6 +986,9 @@ void server_options(char **args,int *arg args[ac++] = arg; } + if (ignore_case) + args[ac++] = "--ignore-case"; + - if (keep_partial) - args[ac++] = "--partial"; - ---- orig/util.c 2004-06-09 21:54:47 + if (partial_dir && am_sender) { + args[ac++] = "--partial-dir"; + args[ac++] = partial_dir; +--- orig/util.c 2004-07-29 16:08:04 +++ util.c 2004-07-03 20:19:20 -@@ -951,6 +951,19 @@ int u_strcmp(const char *cs1, const char +@@ -1037,6 +1037,19 @@ int u_strcmp(const char *cs1, const char { const uchar *s1 = (const uchar *)cs1; const uchar *s2 = (const uchar *)cs2; diff --git a/link-by-hash.diff b/link-by-hash.diff index 674969d..981ccbb 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-23 17:16:13 +--- orig/options.c 2004-07-29 16:08:03 +++ options.c 2004-07-03 20:20:15 -@@ -125,6 +125,7 @@ char *log_format = NULL; +@@ -126,6 +126,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; -@@ -277,6 +278,7 @@ void usage(enum logcode F) +@@ -279,6 +280,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"); -@@ -317,7 +319,7 @@ void usage(enum logcode F) +@@ -319,7 +321,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[] = { -@@ -376,6 +378,7 @@ static struct poptOption long_options[] +@@ -378,6 +380,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 }, -@@ -602,6 +605,19 @@ int parse_arguments(int *argc, const cha +@@ -605,6 +608,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). */ -@@ -1013,6 +1029,11 @@ void server_options(char **args,int *arg +@@ -1030,6 +1046,11 @@ void server_options(char **args,int *arg args[ac++] = compare_dest; } @@ -434,17 +434,17 @@ 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-26 16:20:00 +--- orig/receiver.c 2004-07-29 16:08:03 +++ receiver.c 2004-07-20 21:44:05 -@@ -39,6 +39,7 @@ extern int cvs_exclude; - extern int io_error; +@@ -40,6 +40,7 @@ extern int io_error; extern char *tmpdir; + extern char *partial_dir; extern char *compare_dest; +extern char *link_by_hash_dir; extern int make_backups; extern int do_progress; extern char *backup_dir; -@@ -206,12 +207,13 @@ static int get_tmpname(char *fnametmp, c +@@ -207,12 +208,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, @@ -459,7 +459,7 @@ the file's name. unsigned int len; OFF_T offset = 0; OFF_T offset2; -@@ -230,6 +232,9 @@ static int receive_data(int f_in, char * +@@ -231,6 +233,9 @@ static int receive_data(int f_in, char * } else mapbuf = NULL; @@ -469,16 +469,16 @@ the file's name. sum_init(checksum_seed); while ((i = recv_token(f_in, &data)) != 0) { -@@ -246,6 +251,8 @@ static int receive_data(int f_in, char * +@@ -247,6 +252,8 @@ static int receive_data(int f_in, char * cleanup_got_literal = 1; sum_update(data,i); + if (md4) + mdfour_update(&mdfour_data,data,i); - if (fd != -1 && write_file(fd,data,i) != i) { - rsyserr(FERROR, errno, "write failed on %s", -@@ -273,6 +280,8 @@ static int receive_data(int f_in, char * + if (fd != -1 && write_file(fd,data,i) != i) + goto report_write_error; +@@ -271,6 +278,8 @@ static int receive_data(int f_in, char * see_token(map, len); sum_update(map,len); @@ -486,8 +486,8 @@ the file's name. + mdfour_update(&mdfour_data,map,len); } - if (!inplace || offset != offset2) { -@@ -311,6 +320,8 @@ static int receive_data(int f_in, char * + if (inplace) { +@@ -310,6 +319,8 @@ static int receive_data(int f_in, char * } sum_end(file_sum1); @@ -496,7 +496,7 @@ the file's name. if (mapbuf) unmap_file(mapbuf); -@@ -326,7 +337,7 @@ static int receive_data(int f_in, char * +@@ -325,7 +336,7 @@ static int receive_data(int f_in, char * static void discard_receive_data(int f_in, OFF_T length) { @@ -505,7 +505,7 @@ the file's name. } -@@ -535,8 +546,12 @@ int recv_files(int f_in, struct file_lis +@@ -546,8 +557,12 @@ int recv_files(int f_in, struct file_lis rprintf(FINFO, "%s\n", safe_fname(fname)); /* recv file data */ @@ -542,9 +542,9 @@ 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-23 17:16:13 +--- orig/rsync.h 2004-07-29 16:08:03 +++ rsync.h 2004-07-03 20:20:15 -@@ -522,6 +522,14 @@ struct stats { +@@ -525,6 +525,14 @@ struct stats { int current_file_index; }; diff --git a/max-size.diff b/max-size.diff index 2241f2c..c2f52ee 100644 --- a/max-size.diff +++ b/max-size.diff @@ -1,4 +1,4 @@ ---- orig/generator.c 2004-07-28 10:05:29 +--- orig/generator.c 2004-07-29 16:08:03 +++ generator.c 2004-07-03 20:20:46 @@ -39,6 +39,7 @@ extern int opt_ignore_existing; extern int csum_length; @@ -8,7 +8,7 @@ extern int io_timeout; extern int protocol_version; extern int always_checksum; -@@ -336,6 +337,10 @@ static void recv_generator(char *fname, +@@ -337,6 +338,10 @@ static void recv_generator(char *fname, && verbose && f_out != -1) rprintf(FINFO, "%s/\n", safe_fname(fname)); return; @@ -19,7 +19,7 @@ } if (preserve_links && S_ISLNK(file->mode)) { ---- orig/options.c 2004-07-23 17:16:13 +--- orig/options.c 2004-07-29 16:08:03 +++ options.c 2004-07-15 02:34:44 @@ -90,6 +90,7 @@ int delete_after = 0; int only_existing = 0; @@ -29,7 +29,7 @@ int ignore_errors = 0; int modify_window = 0; int blocking_io = -1; -@@ -139,6 +140,7 @@ char *batch_name = NULL; +@@ -140,6 +141,7 @@ char *batch_name = NULL; static int daemon_opt; /* sets am_daemon after option error-reporting */ static int modify_window_set; @@ -37,15 +37,15 @@ /** Local address to bind. As a character string because it's * interpreted by the IPv6 layer: should be a numeric IP4 or IP6 -@@ -267,6 +269,7 @@ void usage(enum logcode F) +@@ -268,6 +270,7 @@ void usage(enum logcode F) rprintf(F," --delete-after receiver deletes after transferring, not before\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," --max-size=SIZE don't transfer any file larger than SIZE\n"); rprintf(F," --partial keep partially transferred files\n"); + rprintf(F," --partial-dir=DIR put a partially transferred file into DIR\n"); rprintf(F," --force force deletion of directories even if not empty\n"); - rprintf(F," --numeric-ids don't map uid/gid values by user/group name\n"); -@@ -317,7 +320,7 @@ void usage(enum logcode F) +@@ -319,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, @@ -54,7 +54,7 @@ OPT_REFUSED_BASE = 9000}; static struct poptOption long_options[] = { -@@ -372,6 +375,7 @@ static struct poptOption long_options[] +@@ -374,6 +377,7 @@ static struct poptOption long_options[] {"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 }, {"block-size", 'B', POPT_ARG_INT, &block_size, 0, 0, 0 }, {"max-delete", 0, POPT_ARG_INT, &max_delete, 0, 0, 0 }, @@ -62,7 +62,7 @@ {"timeout", 0, POPT_ARG_INT, &io_timeout, OPT_TIMEOUT, 0, 0 }, {"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 }, {"compare-dest", 0, POPT_ARG_STRING, &compare_dest, 0, 0, 0 }, -@@ -586,6 +590,32 @@ int parse_arguments(int *argc, const cha +@@ -589,6 +593,32 @@ int parse_arguments(int *argc, const cha read_batch = 1; break; @@ -95,7 +95,7 @@ case OPT_TIMEOUT: if (io_timeout && io_timeout < select_timeout) select_timeout = io_timeout; -@@ -924,6 +954,11 @@ void server_options(char **args,int *arg +@@ -938,6 +968,11 @@ void server_options(char **args,int *arg args[ac++] = arg; } @@ -107,7 +107,7 @@ if (io_timeout) { if (asprintf(&arg, "--timeout=%d", io_timeout) < 0) goto oom; ---- orig/rsync.yo 2004-07-24 16:52:10 +--- orig/rsync.yo 2004-07-29 16:08:04 +++ rsync.yo 2004-07-03 20:20:46 @@ -316,6 +316,7 @@ verb( --delete-after receiver deletes after transfer, not before @@ -115,9 +115,9 @@ --max-delete=NUM don't delete more than NUM files + --max-size=SIZE don't transfer any file larger than SIZE --partial keep partially transferred files + --partial-dir=DIR put a partially transferred file into DIR --force force deletion of dirs even if not empty - --numeric-ids don't map uid/gid values by user/group name -@@ -592,6 +593,11 @@ dit(bf(--max-delete=NUM)) This tells rsy +@@ -593,6 +594,11 @@ dit(bf(--max-delete=NUM)) This tells rsy files or directories. This is useful when mirroring very large trees to prevent disasters. diff --git a/remove-sent-files.diff b/remove-sent-files.diff index 5bd4061..6a984c4 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-24 16:52:09 +--- orig/io.c 2004-07-29 16:08:03 +++ 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-24 16:52:09 +--- orig/main.c 2004-07-29 16:08:03 +++ main.c 2004-07-22 03:06:20 @@ -42,6 +42,7 @@ extern int list_only; extern int local_server; @@ -48,7 +48,7 @@ command before "make": extern int orig_umask; extern int keep_dirlinks; extern int preserve_hard_links; -@@ -611,6 +612,8 @@ void start_server(int f_in, int f_out, i +@@ -612,6 +613,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) -@@ -682,6 +685,9 @@ int client_run(int f_in, int f_out, pid_ +@@ -683,6 +686,9 @@ int client_run(int f_in, int f_out, pid_ exit_cleanup(status); } @@ -67,7 +67,7 @@ command before "make": if (argc == 0) list_only = 1; ---- orig/options.c 2004-07-23 17:16:13 +--- orig/options.c 2004-07-29 16:08:03 +++ options.c 2004-07-16 20:09:54 @@ -87,8 +87,10 @@ int size_only = 0; int bwlimit = 0; @@ -80,7 +80,7 @@ command before "make": int max_delete = 0; int ignore_errors = 0; int modify_window = 0; -@@ -265,6 +267,7 @@ void usage(enum logcode F) +@@ -266,6 +268,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"); -@@ -315,8 +318,8 @@ void usage(enum logcode F) +@@ -317,8 +320,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}; -@@ -335,6 +338,7 @@ static struct poptOption long_options[] +@@ -337,6 +340,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 }, -@@ -521,6 +525,11 @@ int parse_arguments(int *argc, const cha +@@ -524,6 +528,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... */ -@@ -1025,6 +1034,9 @@ void server_options(char **args,int *arg +@@ -1042,6 +1051,9 @@ void server_options(char **args,int *arg } } @@ -129,9 +129,9 @@ command before "make": *argc = ac; return; ---- orig/receiver.c 2004-07-26 16:20:00 -+++ receiver.c 2004-07-26 06:21:43 -@@ -45,6 +45,7 @@ extern char *backup_dir; +--- orig/receiver.c 2004-07-29 16:08:03 ++++ receiver.c 2004-07-29 16:11:11 +@@ -46,6 +46,7 @@ extern char *backup_dir; extern char *backup_suffix; extern int backup_suffix_len; extern int cleanup_got_literal; @@ -139,16 +139,16 @@ command before "make": extern int module_id; extern int ignore_errors; extern int orig_umask; -@@ -342,7 +343,7 @@ int recv_files(int f_in, struct file_lis +@@ -341,7 +342,7 @@ int recv_files(int f_in, struct file_lis char *fname, fbuf[MAXPATHLEN]; char template[MAXPATHLEN]; char fnametmp[MAXPATHLEN]; -- char *fnamecmp; -+ char *fnamecmp, numbuf[4]; +- char *fnamecmp, *partialptr; ++ char *fnamecmp, *partialptr, numbuf[4]; char fnamecmpbuf[MAXPATHLEN]; struct file_struct *file; struct stats initial_stats; -@@ -555,7 +556,12 @@ int recv_files(int f_in, struct file_lis +@@ -576,7 +577,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) { -@@ -575,9 +581,8 @@ int recv_files(int f_in, struct file_lis +@@ -600,9 +606,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-23 17:16:13 +--- orig/rsync.h 2004-07-29 16:08:03 +++ rsync.h 2004-07-03 20:17:10 @@ -60,6 +60,7 @@ #define FLAG_TOP_DIR (1<<0) @@ -184,7 +184,7 @@ command before "make": /* update this if you make incompatible changes */ #define PROTOCOL_VERSION 28 -@@ -123,6 +124,7 @@ enum logcode { FERROR=1, FINFO=2, FLOG=3 +@@ -126,6 +127,7 @@ enum logcode { FERROR=1, FINFO=2, FLOG=3 /* Messages types that are sent over the message channel. The logcode * values must all be present here with identical numbers. */ enum msgcode { @@ -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-24 16:52:10 +--- orig/rsync.yo 2004-07-29 16:08:04 +++ 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 -@@ -618,6 +619,11 @@ receiving side before transferring files +@@ -619,6 +620,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. -- 2.34.1