X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/fc5573623194fab2a331d1ffc8d284c9e25e06e7..8763cc5d2a566cfa3de2624addf37ffe3888f2a9:/time-limit.diff diff --git a/time-limit.diff b/time-limit.diff index 7e1fd66..161e734 100644 --- a/time-limit.diff +++ b/time-limit.diff @@ -9,19 +9,19 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make +based-on: 3b8f8192227b14e708bf535072485e50f4362270 diff --git a/io.c b/io.c -index 6a89c8f..d248f0f 100644 --- a/io.c +++ b/io.c -@@ -53,6 +53,7 @@ extern int protocol_version; - extern int remove_source_files; +@@ -57,6 +57,7 @@ extern int remove_source_files; extern int preserve_hard_links; + extern BOOL extra_flist_sending_enabled; extern struct stats stats; +extern time_t stop_at_utime; extern struct file_list *cur_flist; #ifdef ICONV_OPTION extern int filesfrom_convert; -@@ -182,16 +183,24 @@ static void check_timeout(void) +@@ -137,16 +138,24 @@ static void check_timeout(void) { time_t t; @@ -50,7 +50,6 @@ index 6a89c8f..d248f0f 100644 if (!am_server && !am_daemon) { rprintf(FERROR, "io timeout after %d seconds -- exiting\n", diff --git a/options.c b/options.c -index e7c6c61..6e72c02 100644 --- a/options.c +++ b/options.c @@ -112,6 +112,7 @@ size_t bwlimit_writemax = 0; @@ -61,7 +60,7 @@ index e7c6c61..6e72c02 100644 int max_delete = INT_MIN; OFF_T max_size = 0; OFF_T min_size = 0; -@@ -775,6 +776,8 @@ void usage(enum logcode F) +@@ -776,6 +777,8 @@ void usage(enum logcode F) rprintf(F," --password-file=FILE read daemon-access password from FILE\n"); rprintf(F," --list-only list the files instead of copying them\n"); rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n"); @@ -70,7 +69,7 @@ index e7c6c61..6e72c02 100644 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"); -@@ -798,7 +801,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM, +@@ -799,7 +802,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM, OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD, OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE, OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG, @@ -79,7 +78,7 @@ index e7c6c61..6e72c02 100644 OPT_SERVER, OPT_REFUSED_BASE = 9000}; static struct poptOption long_options[] = { -@@ -988,6 +991,8 @@ static struct poptOption long_options[] = { +@@ -989,6 +992,8 @@ static struct poptOption long_options[] = { {"no-timeout", 0, POPT_ARG_VAL, &io_timeout, 0, 0, 0 }, {"contimeout", 0, POPT_ARG_INT, &connect_timeout, 0, 0, 0 }, {"no-contimeout", 0, POPT_ARG_VAL, &connect_timeout, 0, 0, 0 }, @@ -88,7 +87,7 @@ index e7c6c61..6e72c02 100644 {"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 }, {"rsync-path", 0, POPT_ARG_STRING, &rsync_path, 0, 0, 0 }, {"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 }, -@@ -1742,6 +1747,36 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -1744,6 +1749,36 @@ int parse_arguments(int *argc_p, const char ***argv_p) return 0; #endif @@ -125,7 +124,7 @@ index e7c6c61..6e72c02 100644 default: /* A large opt value means that set_refuse_options() * turned this option off. */ -@@ -2428,6 +2463,15 @@ void server_options(char **args, int *argc_p) +@@ -2446,6 +2481,15 @@ void server_options(char **args, int *argc_p) args[ac++] = arg; } @@ -142,7 +141,6 @@ index e7c6c61..6e72c02 100644 args[ac++] = "--backup-dir"; args[ac++] = backup_dir; diff --git a/rsync.yo b/rsync.yo -index 941f7a5..6945d06 100644 --- a/rsync.yo +++ b/rsync.yo @@ -431,6 +431,8 @@ to the detailed description below for a complete description. verb( @@ -154,7 +152,7 @@ index 941f7a5..6945d06 100644 --write-batch=FILE write a batched update to FILE --only-write-batch=FILE like --write-batch but w/o updating dest --read-batch=FILE read a batched update from FILE -@@ -2230,6 +2232,19 @@ transfer was too fast, it will wait before sending the next data block. The +@@ -2280,6 +2282,19 @@ transfer was too fast, it will wait before sending the next data block. The result is an average transfer rate equaling the specified limit. A value of zero specifies no limit. @@ -175,7 +173,6 @@ index 941f7a5..6945d06 100644 another identical destination with bf(--read-batch). See the "BATCH MODE" section for details, and also the bf(--only-write-batch) option. diff --git a/util.c b/util.c -index 0cafed6..f3e2669 100644 --- a/util.c +++ b/util.c @@ -123,6 +123,133 @@ NORETURN void overflow_exit(const char *str) @@ -309,6 +306,6 @@ index 0cafed6..f3e2669 100644 + return val; +} + - int set_modtime(const char *fname, time_t modtime, mode_t mode) + int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode) { - #if !defined HAVE_LUTIMES || !defined HAVE_UTIMES + #ifndef CAN_SET_SYMLINK_TIMES