X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/cc3e685d09b2095099fc396157d19172ab3ef7c4..4c15e80040f6ac2fc79d599d1722cf209cc30536:/source-filter_dest-filter.diff diff --git a/source-filter_dest-filter.diff b/source-filter_dest-filter.diff index 41aed86..5a5bf15 100644 --- a/source-filter_dest-filter.diff +++ b/source-filter_dest-filter.diff @@ -53,7 +53,7 @@ diff --git a/generator.c b/generator.c diff --git a/main.c b/main.c --- a/main.c +++ b/main.c -@@ -135,7 +135,7 @@ pid_t wait_process(pid_t pid, int *status_ptr, int flags) +@@ -137,7 +137,7 @@ pid_t wait_process(pid_t pid, int *status_ptr, int flags) } /* Wait for a process to exit, calling io_flush while waiting. */ @@ -65,7 +65,7 @@ diff --git a/main.c b/main.c diff --git a/options.c b/options.c --- a/options.c +++ b/options.c -@@ -104,6 +104,7 @@ int keep_partial = 0; +@@ -105,6 +105,7 @@ int keep_partial = 0; int safe_symlinks = 0; int copy_unsafe_links = 0; int size_only = 0; @@ -73,7 +73,7 @@ diff --git a/options.c b/options.c int daemon_bwlimit = 0; int bwlimit = 0; int fuzzy_basis = 0; -@@ -161,6 +162,8 @@ char *logfile_name = NULL; +@@ -162,6 +163,8 @@ char *logfile_name = NULL; char *logfile_format = NULL; char *stdout_format = NULL; char *password_file = NULL; @@ -82,7 +82,7 @@ diff --git a/options.c b/options.c char *rsync_path = RSYNC_PATH; char *backup_dir = NULL; char backup_dir_buf[MAXPATHLEN]; -@@ -382,6 +385,7 @@ void usage(enum logcode F) +@@ -383,6 +386,7 @@ void usage(enum logcode F) rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n"); rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n"); rprintf(F," --size-only skip files that match in size\n"); @@ -90,7 +90,7 @@ diff --git a/options.c b/options.c rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n"); rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n"); rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n"); -@@ -421,6 +425,8 @@ void usage(enum logcode F) +@@ -422,6 +426,8 @@ void usage(enum logcode F) rprintf(F," --write-batch=FILE write a batched update to FILE\n"); rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n"); rprintf(F," --read-batch=FILE read a batched update from FILE\n"); @@ -99,7 +99,7 @@ diff --git a/options.c b/options.c rprintf(F," --protocol=NUM force an older protocol version to be used\n"); #ifdef ICONV_OPTION rprintf(F," --iconv=CONVERT_SPEC request charset conversion of filenames\n"); -@@ -522,6 +528,7 @@ static struct poptOption long_options[] = { +@@ -523,6 +529,7 @@ static struct poptOption long_options[] = { {"chmod", 0, POPT_ARG_STRING, 0, OPT_CHMOD, 0, 0 }, {"ignore-times", 'I', POPT_ARG_NONE, &ignore_times, 0, 0, 0 }, {"size-only", 0, POPT_ARG_NONE, &size_only, 0, 0, 0 }, @@ -107,7 +107,7 @@ diff --git a/options.c b/options.c {"one-file-system", 'x', POPT_ARG_NONE, 0, 'x', 0, 0 }, {"update", 'u', POPT_ARG_NONE, &update_only, 0, 0, 0 }, {"existing", 0, POPT_ARG_NONE, &ignore_non_existing, 0, 0, 0 }, -@@ -622,6 +629,8 @@ static struct poptOption long_options[] = { +@@ -623,6 +630,8 @@ static struct poptOption long_options[] = { {"password-file", 0, POPT_ARG_STRING, &password_file, 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 }, @@ -116,7 +116,7 @@ diff --git a/options.c b/options.c {"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 }, {"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 }, {"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 }, -@@ -1579,6 +1588,16 @@ int parse_arguments(int *argc_p, const char ***argv_p, int frommain) +@@ -1585,6 +1594,16 @@ int parse_arguments(int *argc_p, const char ***argv_p, int frommain) } } @@ -133,7 +133,7 @@ diff --git a/options.c b/options.c if (files_from) { char *h, *p; int q; -@@ -1896,6 +1915,25 @@ void server_options(char **args, int *argc_p) +@@ -1904,6 +1923,25 @@ void server_options(char **args, int *argc_p) } } @@ -284,7 +284,7 @@ diff --git a/receiver.c b/receiver.c while (1) { cleanup_disable(); -@@ -671,6 +691,9 @@ int recv_files(int f_in, char *local_name) +@@ -673,6 +693,9 @@ int recv_files(int f_in, char *local_name) else if (!am_server && verbose && do_progress) rprintf(FINFO, "%s\n", fname); @@ -294,7 +294,7 @@ diff --git a/receiver.c b/receiver.c /* recv file data */ recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size, fname, fd2, F_LENGTH(file)); -@@ -685,6 +708,16 @@ int recv_files(int f_in, char *local_name) +@@ -687,6 +710,16 @@ int recv_files(int f_in, char *local_name) exit_cleanup(RERR_FILEIO); } @@ -309,8 +309,8 @@ diff --git a/receiver.c b/receiver.c + } + if ((recv_ok && (!delay_updates || !partialptr)) || inplace) { - char *temp_copy_name; if (partialptr == fname) + partialptr = NULL; diff --git a/rsync.h b/rsync.h --- a/rsync.h +++ b/rsync.h @@ -414,7 +414,7 @@ diff --git a/sender.c b/sender.c if (verbose > 2) rprintf(FINFO, "send_files starting\n"); -@@ -284,6 +305,7 @@ void send_files(int f_in, int f_out) +@@ -285,6 +306,7 @@ void send_files(int f_in, int f_out) exit_cleanup(RERR_PROTOCOL); } @@ -422,7 +422,7 @@ diff --git a/sender.c b/sender.c fd = do_open(fname, O_RDONLY, 0); if (fd == -1) { if (errno == ENOENT) { -@@ -305,6 +327,33 @@ void send_files(int f_in, int f_out) +@@ -306,6 +328,33 @@ void send_files(int f_in, int f_out) continue; } @@ -456,7 +456,7 @@ diff --git a/sender.c b/sender.c /* map the local file */ if (do_fstat(fd, &st) != 0) { io_error |= IOERR_GENERAL; -@@ -355,6 +404,8 @@ void send_files(int f_in, int f_out) +@@ -356,6 +405,8 @@ void send_files(int f_in, int f_out) } } close(fd);