From 8075fb75f3780122b7eec8610e3cd579ddd50995 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Mon, 26 Jul 2004 06:32:13 +0000 Subject: [PATCH] Fixed failing hunk. --- early-chmod.diff | 27 +++++++++++++------------- remove-sent-files.diff | 43 +++++++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/early-chmod.diff b/early-chmod.diff index f3af871..a90f6c2 100644 --- a/early-chmod.diff +++ b/early-chmod.diff @@ -1,25 +1,26 @@ ---- orig/rsync.c 2004-07-16 20:07:23 -+++ rsync.c 2004-07-03 20:17:55 -@@ -247,6 +247,9 @@ void finish_transfer(char *fname, char * - return; +--- orig/rsync.c 2004-07-23 17:16:13 ++++ rsync.c 2004-07-26 06:27:27 +@@ -246,6 +246,9 @@ void finish_transfer(char *fname, char * + goto do_set_perms; } + /* Change permissions before putting the file into place. */ -+ set_perms(fnametmp, file, NULL, 0); ++ set_perms(fnametmp, file, NULL, ok_to_set_time ? 0 : PERMS_SKIP_MTIME); + /* move tmp file over real file */ if (verbose > 2) rprintf(FINFO, "renaming %s to %s\n", fnametmp, fname); -@@ -256,7 +259,8 @@ void finish_transfer(char *fname, char * - ret == -2 ? "copy" : "rename", - full_fname(fnametmp), fname); +@@ -257,6 +260,10 @@ void finish_transfer(char *fname, char * do_unlink(fnametmp); -- } else { -+ } else if (ret == 1) { -+ /* The file got copied, so set the permissions again. */ - set_perms(fname, file, NULL, - ok_to_set_time ? 0 : PERMS_SKIP_MTIME); + return; } ++ if (ret == 0) { ++ /* The file was moved into place (not copied), so it's done. */ ++ return; ++ } + 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 +++ t_stub.c 2004-07-03 20:17:55 @@ -26,6 +26,7 @@ diff --git a/remove-sent-files.diff b/remove-sent-files.diff index e0abd3f..b500575 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-21 23:59:35 +--- orig/io.c 2004-07-24 16:52:09 +++ 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-21 23:59:35 +--- orig/main.c 2004-07-24 16:52:09 +++ 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; -@@ -610,6 +611,8 @@ void start_server(int f_in, int f_out, i +@@ -611,6 +612,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) -@@ -681,6 +684,9 @@ int client_run(int f_in, int f_out, pid_ +@@ -682,6 +685,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-21 23:59:35 +--- orig/options.c 2004-07-23 17:16:13 +++ 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; -@@ -264,6 +266,7 @@ void usage(enum logcode F) +@@ -265,6 +267,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"); -@@ -314,8 +317,8 @@ void usage(enum logcode F) +@@ -315,8 +318,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}; -@@ -334,6 +337,7 @@ static struct poptOption long_options[] +@@ -335,6 +338,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 }, -@@ -520,6 +524,11 @@ int parse_arguments(int *argc, const cha +@@ -521,6 +525,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... */ -@@ -1024,6 +1033,9 @@ void server_options(char **args,int *arg +@@ -1025,6 +1034,9 @@ void server_options(char **args,int *arg } } @@ -129,8 +129,8 @@ command before "make": *argc = ac; return; ---- orig/receiver.c 2004-07-22 02:58:15 -+++ receiver.c 2004-07-16 20:09:48 +--- orig/receiver.c 2004-07-23 17:16:13 ++++ receiver.c 2004-07-26 06:21:43 @@ -45,6 +45,7 @@ extern char *backup_dir; extern char *backup_suffix; extern int backup_suffix_len; @@ -148,7 +148,7 @@ command before "make": char fnamecmpbuf[MAXPATHLEN]; struct file_struct *file; struct stats initial_stats; -@@ -551,16 +552,20 @@ int recv_files(int f_in, struct file_lis +@@ -551,7 +552,12 @@ int recv_files(int f_in, struct file_lis cleanup_disable(); @@ -159,13 +159,14 @@ command before "make": + send_msg(MSG_SUCCESS, numbuf, 4); + } + } else { - if (csum_length == SUM_LENGTH) { - rprintf(FERROR,"ERROR: file corruption in %s. File changed during transfer?\n", - full_fname(fname)); - } else { + int msgtype = csum_length == SUM_LENGTH || read_batch ? + FERROR : FINFO; + if (msgtype == FERROR || verbose) { +@@ -570,9 +576,8 @@ int recv_files(int f_in, struct file_lis + errstr, fname, keptstr, redostr); + } + if (csum_length != SUM_LENGTH) { - char buf[4]; - if (verbose > 1) - rprintf(FINFO,"redoing %s(%d)\n",fname,i); - SIVAL(buf, 0, i); - send_msg(MSG_REDO, buf, 4); + SIVAL(numbuf, 0, i); @@ -173,7 +174,7 @@ command before "make": } } } ---- orig/rsync.h 2004-07-20 21:36:08 +--- orig/rsync.h 2004-07-23 17:16:13 +++ rsync.h 2004-07-03 20:17:10 @@ -60,6 +60,7 @@ #define FLAG_TOP_DIR (1<<0) @@ -191,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-20 21:36:08 +--- orig/rsync.yo 2004-07-24 16:52:10 +++ rsync.yo 2004-07-03 20:17:10 @@ -314,6 +314,7 @@ verb( --delete delete files that don't exist on sender -- 2.34.1