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;
char *backup_dir = NULL;
char backup_dir_buf[MAXPATHLEN];
int rsync_port = 0;
+int compare_dest = 0;
int copy_dest = 0;
int link_dest = 0;
+int basis_dir_cnt = 0;
int verbose = 0;
int quiet = 0;
static int daemon_opt; /* sets am_daemon after option error-reporting */
static int modify_window_set;
-static int compare_dest = 0;
-static int basis_dir_cnt = 0;
static char *dest_option = NULL;
static char *max_size_arg;
rprintf(F," --backup-dir make backups into this directory\n");
rprintf(F," --suffix=SUFFIX backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
rprintf(F," -u, --update update only (don't overwrite newer files)\n");
- rprintf(F," --inplace update destination files inplace (SEE MAN PAGE)\n");
+ rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n");
rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n");
rprintf(F," -l, --links copy symlinks as symlinks\n");
rprintf(F," -L, --copy-links copy the referent of all symlinks\n");
compare_dest = 1;
dest_option = "--compare-dest";
set_dest_dir:
- if (basis_dir_cnt >= MAX_BASIS_DIRS-1) {
+ if (basis_dir_cnt >= MAX_BASIS_DIRS) {
snprintf(err_buf, sizeof err_buf,
"ERROR: at most %d %s args may be specified\n",
MAX_BASIS_DIRS, dest_option);
preserve_uid = 1;
preserve_devices = 1;
}
+ if (recurse) {
+ keep_dirs = 1;
+ }
if (relative_paths < 0)
relative_paths = files_from? 1 : 0;
return 0;
}
keep_partial = 0;
- if (dest_option) {
- snprintf(err_buf, sizeof err_buf,
- "--inplace does not yet work with %s\n",
- dest_option);
- return 0;
- }
#else
snprintf(err_buf, sizeof err_buf,
"--inplace is not supported on this %s\n",
return 0;
}
}
+ keep_dirs = 1;
}
return 1;
if (!relative_paths)
args[ac++] = "--no-relative";
}
+ if (!implied_dirs && !am_sender)
+ args[ac++] = "--no-implied-dirs";
*argc = ac;
return;