./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
{"no-backup", 0, POPT_ARG_VAL, &make_backups, 0, 0, 0 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
{"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 },
-@@ -2803,6 +2804,10 @@ void server_options(char **args, int *argc_p)
+@@ -2805,6 +2806,10 @@ void server_options(char **args, int *argc_p)
args[ac++] = safe_arg("--compress-choice", compress_choice);
if (am_sender) {
{"list-only", 0, POPT_ARG_VAL, &list_only, 2, 0, 0 },
{"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 },
{"write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_WRITE_BATCH, 0, 0 },
-@@ -2251,6 +2259,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2253,6 +2261,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
tmpdir = sanitize_path(NULL, tmpdir, NULL, 0, SP_DEFAULT);
if (backup_dir)
backup_dir = sanitize_path(NULL, backup_dir, NULL, 0, SP_DEFAULT);
}
if (daemon_filter_list.head && !am_sender) {
filter_rule_list *elp = &daemon_filter_list;
-@@ -2272,6 +2282,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2274,6 +2284,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
if (check_filter(elp, FLOG, dir, 1) < 0)
goto options_rejected;
}
}
if (!backup_suffix)
-@@ -2283,6 +2301,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2285,6 +2303,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
backup_suffix);
goto cleanup;
}
if (backup_dir) {
size_t len;
make_backups = 1; /* --backup-dir implies --backup */
-@@ -2319,6 +2351,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2321,6 +2353,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
"P *%s", backup_suffix);
parse_filter_str(&filter_list, backup_dir_buf, rule_template(0), 0);
}
if (make_backups && !backup_dir)
omit_dir_times = -1; /* Implied, so avoid -O to sender. */
-@@ -2788,11 +2848,20 @@ void server_options(char **args, int *argc_p)
+@@ -2790,11 +2850,20 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--backup-dir";
args[ac++] = safe_arg("", backup_dir);
}
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/errcode.h b/errcode.h
--- a/errcode.h
+++ b/errcode.h
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
case OPT_INFO:
arg = poptGetOptArg(pc);
parse_output_words(info_words, info_levels, arg, USER_PRIORITY);
-@@ -2116,6 +2135,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2118,6 +2137,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
#endif
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
--compress, -z compress file data during the transfer
--compress-choice=STR choose the compression algorithm (aka --zc)
--compress-level=NUM explicitly set compression level (aka --zl)
-@@ -2719,6 +2720,18 @@ expand it.
+@@ -2720,6 +2721,18 @@ expand it.
this bug by avoiding the `-o` option (or using `--no-o`) when sending to an
old rsync.
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/daemon-parm.txt b/daemon-parm.txt
--- a/daemon-parm.txt
+++ b/daemon-parm.txt
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
{"one-file-system", 'x', POPT_ARG_NONE, 0, 'x', 0, 0 },
{"no-one-file-system",0, POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 0, POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
-@@ -2850,6 +2852,9 @@ void server_options(char **args, int *argc_p)
+@@ -2852,6 +2854,9 @@ void server_options(char **args, int *argc_p)
else if (missing_args == 1 && !am_sender)
args[ac++] = "--ignore-missing-args";
{"fuzzy", 'y', POPT_ARG_NONE, 0, 'y', 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
-@@ -2836,8 +2838,14 @@ void server_options(char **args, int *argc_p)
+@@ -2838,8 +2840,14 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--super";
if (size_only)
args[ac++] = "--size-only";
--compare-dest=DIR also compare destination files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-@@ -2651,6 +2653,20 @@ expand it.
+@@ -2652,6 +2654,20 @@ expand it.
otential alternate-basis files will be removed as the transfer progresses.
This option conflicts with [`--inplace`](#opt) and [`--append`](#opt).
a file that can't use it, while missing out on giving it to a file
that could use it.
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/backup.c b/backup.c
--- a/backup.c
+++ b/backup.c
{"fuzzy", 'y', POPT_ARG_NONE, 0, 'y', 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
-@@ -2398,7 +2400,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2400,7 +2402,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
inplace = 1;
}
partial_dir = tmp_partialdir;
if (inplace) {
-@@ -2407,6 +2409,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2409,6 +2411,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
snprintf(err_buf, sizeof err_buf,
"--%s cannot be used with --%s\n",
append_mode ? "append" : "inplace",
delay_updates ? "delay-updates" : "partial-dir");
goto cleanup;
}
-@@ -2833,6 +2836,8 @@ void server_options(char **args, int *argc_p)
+@@ -2835,6 +2838,8 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--super";
if (size_only)
args[ac++] = "--size-only";
--compare-dest=DIR also compare destination files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-@@ -2634,6 +2635,22 @@ expand it.
+@@ -2635,6 +2636,22 @@ expand it.
potential fuzzy-match files, so either use [`--delete-after`](#opt) or
specify some filename exclusions if you need to prevent this.
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
--prune-empty-dirs, -m prune empty directory chains from file-list
--numeric-ids don't map uid/gid values by user/group name
--usermap=STRING custom username mapping
-@@ -3432,6 +3433,17 @@ expand it.
+@@ -3433,6 +3434,17 @@ expand it.
update algorithm that is even more atomic (it uses [`--link-dest`](#opt)
and a parallel hierarchy of files).
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
/* Now we use the descrip values to actually mark the options for refusal. */
for (op = long_options; op != list_end; op++) {
-@@ -2732,6 +2750,9 @@ void server_options(char **args, int *argc_p)
+@@ -2734,6 +2752,9 @@ void server_options(char **args, int *argc_p)
if (xfer_dirs && !recurse && delete_mode && am_sender)
args[ac++] = "--no-r";
if (do_compression && do_compression_level != CLVL_NOT_SPECIFIED) {
if (asprintf(&arg, "--compress-level=%d", do_compression_level) < 0)
goto oom;
-@@ -2827,6 +2848,16 @@ void server_options(char **args, int *argc_p)
+@@ -2829,6 +2850,16 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--delete-excluded";
if (force_delete)
args[ac++] = "--force";
[`--recursive`](#opt) option was also enabled.
0. `--max-delete=NUM`
-@@ -3098,7 +3134,7 @@ expand it.
+@@ -3099,7 +3135,7 @@ expand it.
also turns on the output of other verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
if (ex->rflags & FILTRULE_PERDIR_MERGE)
teardown_mergelist(ex);
free(ex->pattern);
-@@ -1005,7 +1027,9 @@ static void report_filter_result(enum logcode code, char const *name,
+@@ -1006,7 +1028,9 @@ static void report_filter_result(enum logcode code, char const *name,
/* This function is used to check if a file should be included/excluded
* from the list of files based on its name and type etc. The value of
int name_is_excluded(const char *fname, int name_flags, int filter_level)
{
if (daemon_filter_list.head && check_filter(&daemon_filter_list, FLOG, fname, name_flags) < 0) {
-@@ -1014,6 +1038,9 @@ int name_is_excluded(const char *fname, int name_flags, int filter_level)
+@@ -1015,6 +1039,9 @@ int name_is_excluded(const char *fname, int name_flags, int filter_level)
return 1;
}
if (filter_level != ALL_FILTERS)
return 0;
-@@ -1033,7 +1060,8 @@ int check_server_filter(filter_rule_list *listp, enum logcode code, const char *
+@@ -1034,7 +1061,8 @@ int check_server_filter(filter_rule_list *listp, enum logcode code, const char *
}
/* Return -1 if file "name" is defined to be excluded by the specified
int check_filter(filter_rule_list *listp, enum logcode code,
const char *name, int name_flags)
{
-@@ -1056,10 +1084,12 @@ int check_filter(filter_rule_list *listp, enum logcode code,
+@@ -1057,10 +1085,12 @@ int check_filter(filter_rule_list *listp, enum logcode code,
}
if (rule_matches(name, ent, name_flags)) {
report_filter_result(code, name, ent, name_flags, listp->debug_type);
return 0;
}
-@@ -1076,9 +1106,45 @@ static const uchar *rule_strcmp(const uchar *str, const char *rule, int rule_len
+@@ -1077,9 +1107,45 @@ static const uchar *rule_strcmp(const uchar *str, const char *rule, int rule_len
return NULL;
}
/* Gets the next include/exclude rule from *rulestr_ptr and advances
* *rulestr_ptr to point beyond it. Stores the pattern's start (within
-@@ -1093,6 +1159,7 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
+@@ -1094,6 +1160,7 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
const char **pat_ptr, unsigned int *pat_len_ptr)
{
const uchar *s = (const uchar *)*rulestr_ptr;
filter_rule *rule;
unsigned int len;
-@@ -1111,6 +1178,12 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
+@@ -1112,6 +1179,12 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
/* Inherit from the template. Don't inherit FILTRULES_SIDES; we check
* that later. */
rule->rflags = template->rflags & FILTRULES_FROM_CONTAINER;
/* Figure out what kind of a filter rule "s" is pointing at. Note
* that if FILTRULE_NO_PREFIXES is set, the rule is either an include
-@@ -1257,11 +1330,63 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
+@@ -1258,11 +1331,63 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
goto invalid;
rule->rflags |= FILTRULE_EXCLUDE_SELF;
break;
case 'p':
rule->rflags |= FILTRULE_PERISHABLE;
break;
-@@ -1575,6 +1700,23 @@ char *get_rule_prefix(filter_rule *rule, const char *pat, int for_xfer,
+@@ -1576,6 +1701,23 @@ char *get_rule_prefix(filter_rule *rule, const char *pat, int for_xfer,
else if (am_sender)
return NULL;
}
See the [`--perms`](#opt) and [`--executability`](#opt) options for how the
resulting permission value can be applied to the files in the transfer.
-@@ -3032,6 +3034,10 @@ expand it.
+@@ -3033,6 +3035,10 @@ expand it.
An older rsync client may need to use [`-s`](#opt) to avoid a complaint
about wildcard characters, but a modern rsync handles this automatically.
0. `--timeout=SECONDS`
This option allows you to set a maximum I/O timeout in seconds. If no data
-@@ -4186,6 +4192,15 @@ The following modifiers are accepted after an include (+) or exclude (-) rule:
+@@ -4187,6 +4193,15 @@ The following modifiers are accepted after an include (+) or exclude (-) rule:
like "CVS" and "`*.o`" are marked as perishable, and will not prevent a
directory that was removed on the source from being deleted on the
destination.
- An `x` indicates that a rule affects xattr names in xattr copy/delete
operations (and is thus ignored when matching file/dir names). If no
xattr-matching rules are specified, a default xattr filtering rule is used
-@@ -4243,6 +4258,12 @@ The following modifiers are accepted after a merge or dir-merge rule:
+@@ -4244,6 +4259,12 @@ The following modifiers are accepted after a merge or dir-merge rule:
rules in the file must not specify sides (via a modifier or a rule prefix
such as `hide`).
- Make this code handle multibyte character encodings, and honor the
--iconv setting when converting case.
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
-@@ -965,16 +965,15 @@ static int rule_matches(const char *fname, filter_rule *ex, int name_flags)
+@@ -966,16 +966,15 @@ static int rule_matches(const char *fname, filter_rule *ex, int name_flags)
if (litmatch_array(pattern, strings, slash_handling))
return ret_match;
} else if (anchored_match) {
{"files-from", 0, POPT_ARG_STRING, &files_from, 0, 0, 0 },
{"from0", '0', POPT_ARG_VAL, &eol_nulls, 1, 0, 0},
{"no-from0", 0, POPT_ARG_VAL, &eol_nulls, 0, 0, 0},
-@@ -2863,6 +2866,9 @@ void server_options(char **args, int *argc_p)
+@@ -2865,6 +2868,9 @@ void server_options(char **args, int *argc_p)
args[ac++] = arg;
}
--address=ADDRESS bind address for outgoing socket to daemon
--port=PORT specify double-colon alternate port number
--sockopts=OPTIONS specify custom TCP options
-@@ -2582,6 +2583,12 @@ expand it.
+@@ -2583,6 +2584,12 @@ expand it.
> sudo rsync -aive lsh -M--copy-as=joe src/ lh:dest/
./configure
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
./configure
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
case OPT_STOP_AFTER: {
long val;
arg = poptGetOptArg(pc);
-@@ -2250,6 +2270,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2252,6 +2272,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
tmpdir = sanitize_path(NULL, tmpdir, NULL, 0, SP_DEFAULT);
if (backup_dir)
backup_dir = sanitize_path(NULL, backup_dir, NULL, 0, SP_DEFAULT);
}
if (daemon_filter_list.head && !am_sender) {
filter_rule_list *elp = &daemon_filter_list;
-@@ -2939,6 +2961,12 @@ void server_options(char **args, int *argc_p)
+@@ -2941,6 +2963,12 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--no-W";
}
--compress, -z compress file data during the transfer
--compress-choice=STR choose the compression algorithm (aka --zc)
--compress-level=NUM explicitly set compression level (aka --zl)
-@@ -2719,6 +2720,50 @@ expand it.
+@@ -2720,6 +2721,50 @@ expand it.
this bug by avoiding the `-o` option (or using `--no-o`) when sending to an
old rsync.
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
{"modify-window", '@', POPT_ARG_INT, &modify_window, OPT_MODIFY_WINDOW, 0, 0 },
{"super", 0, POPT_ARG_VAL, &am_root, 2, 0, 0 },
{"no-super", 0, POPT_ARG_VAL, &am_root, 0, 0, 0 },
-@@ -2319,7 +2321,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2321,7 +2323,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
parse_filter_str(&filter_list, backup_dir_buf, rule_template(0), 0);
}
omit_dir_times = -1; /* Implied, so avoid -O to sender. */
if (stdout_format) {
-@@ -2835,6 +2837,8 @@ void server_options(char **args, int *argc_p)
+@@ -2837,6 +2839,8 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--size-only";
if (do_stats)
args[ac++] = "--stats";
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
TODO: the configure changes should abort if the user requests --enable-slp
and we can't honor that request.
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/syscall.c b/syscall.c
--- a/syscall.c
+++ b/syscall.c
-- Matt McCutchen <hashproduct@gmail.com>
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
{"no-backup", 0, POPT_ARG_VAL, &make_backups, 0, 0, 0 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
{"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 },
-@@ -2838,6 +2840,8 @@ void server_options(char **args, int *argc_p)
+@@ -2840,6 +2842,8 @@ void server_options(char **args, int *argc_p)
} else {
if (skip_compress)
args[ac++] = safe_arg("--skip-compress", skip_compress);
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
{"outbuf", 0, POPT_ARG_STRING, &outbuf_mode, 0, 0, 0 },
{"remote-option", 'M', POPT_ARG_STRING, 0, 'M', 0, 0 },
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
-@@ -2442,6 +2448,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2444,6 +2450,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
}
if (files_from) {
char *h, *p;
int q;
-@@ -2850,6 +2866,25 @@ void server_options(char **args, int *argc_p)
+@@ -2852,6 +2868,25 @@ void server_options(char **args, int *argc_p)
else if (missing_args == 1 && !am_sender)
args[ac++] = "--ignore-missing-args";
--protocol=NUM force an older protocol version to be used
--iconv=CONVERT_SPEC request charset conversion of filenames
--checksum-seed=NUM set block/file checksum seed (advanced)
-@@ -3712,6 +3715,36 @@ expand it.
+@@ -3713,6 +3716,36 @@ expand it.
[`--write-batch`](#opt). If _FILE_ is `-`, the batch data will be read
from standard input. See the "BATCH MODE" section for details.
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/fileio.c b/fileio.c
--- a/fileio.c
+++ b/fileio.c
{"preallocate", 0, POPT_ARG_NONE, &preallocate_files, 0, 0, 0},
{"inplace", 0, POPT_ARG_VAL, &inplace, 1, 0, 0 },
{"no-inplace", 0, POPT_ARG_VAL, &inplace, 0, 0, 0 },
-@@ -2770,6 +2772,12 @@ void server_options(char **args, int *argc_p)
+@@ -2772,6 +2774,12 @@ void server_options(char **args, int *argc_p)
args[ac++] = arg;
}
./configure (optional if already run)
make
-based-on: 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
+based-on: 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
{"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
{"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
{"8-bit-output", '8', POPT_ARG_VAL, &allow_8bit_chars, 1, 0, 0 },
-@@ -2488,6 +2490,24 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2490,6 +2492,24 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
}
if (trust_sender || am_server || read_batch)
trust_sender_args = trust_sender_filter = 1;
else if (old_style_args || filesfrom_host != NULL)
-@@ -2956,6 +2976,12 @@ void server_options(char **args, int *argc_p)
+@@ -2958,6 +2978,12 @@ void server_options(char **args, int *argc_p)
if (relative_paths && !implied_dirs && (!am_sender || protocol_version >= 30))
args[ac++] = "--no-implied-dirs";
--checksum-seed=NUM set block/file checksum seed (advanced)
--ipv4, -4 prefer IPv4
--ipv6, -6 prefer IPv6
-@@ -3754,6 +3755,22 @@ expand it.
+@@ -3755,6 +3756,22 @@ expand it.
free to specify just the local charset for a daemon transfer (e.g.
`--iconv=utf8`).