X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/4ce838e1f107239f1b18f3f8cd7c7fbab65e0bd5..7e38410e47a05b2b97c58212d08a1d65c8c452b4:/options.c diff --git a/options.c b/options.c index 60b59b0c..587329f1 100644 --- a/options.c +++ b/options.c @@ -76,6 +76,7 @@ int filesfrom_fd = -1; char *remote_filesfrom_file = NULL; int eol_nulls = 0; int recurse = 0; +int keep_dirs = 0; int am_daemon = 0; int daemon_over_rsh = 0; int do_stats = 0; @@ -850,6 +851,9 @@ int parse_arguments(int *argc, const char ***argv, int frommain) preserve_uid = 1; preserve_devices = 1; } + if (recurse) { + keep_dirs = 1; + } if (relative_paths < 0) relative_paths = files_from? 1 : 0; @@ -1003,6 +1007,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) return 0; } } + keep_dirs = 1; } return 1; @@ -1233,6 +1238,8 @@ void server_options(char **args,int *argc) if (!relative_paths) args[ac++] = "--no-relative"; } + if (!implied_dirs && !am_sender) + args[ac++] = "--no-implied-dirs"; *argc = ac; return;