rprintf(F,"\nrsync is a file transfer program capable of efficient remote update\nvia a fast differencing algorithm.\n\n");
- rprintf(F,"Usage: rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST\n");
+ rprintf(F,"Usage: rsync [OPTION]... SRC [SRC]... DEST\n");
+ rprintf(F," or rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST\n");
+ rprintf(F," or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST\n");
+ rprintf(F," or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST\n");
rprintf(F," or rsync [OPTION]... [USER@]HOST:SRC [DEST]\n");
- rprintf(F," or rsync [OPTION]... SRC [SRC]... DEST\n");
rprintf(F," or rsync [OPTION]... [USER@]HOST::SRC [DEST]\n");
- rprintf(F," or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST\n");
rprintf(F," or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]\n");
- rprintf(F," or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST\n");
- rprintf(F,"SRC on single-colon remote HOST will be expanded by remote shell\n");
- rprintf(F,"SRC on server remote HOST may contain shell wildcards or multiple\n");
- rprintf(F," sources separated by space as long as they have same top-level\n");
+ rprintf(F,"The ':' usages connect via remote shell, while '::' & 'rsync://' usages connect\n");
+ rprintf(F,"to an rsync daemon, and require SRC or DEST to start with a module name.\n");
rprintf(F,"\nOptions\n");
rprintf(F," -v, --verbose increase verbosity\n");
rprintf(F," -q, --quiet suppress non-error messages\n");
if (files_from) {
if (recurse == 1) /* preserve recurse == 2 */
recurse = 0;
- if (xfer_dirs < 0)
+ if (xfer_dirs < 1)
xfer_dirs = 1;
}
"You may not combine multiple --delete-WHEN options.\n");
return 0;
}
- if (!recurse) {
+ if (!xfer_dirs) {
delete_before = delete_during = delete_after = 0;
delete_mode = delete_excluded = 0;
} else if (delete_before || delete_during || delete_after)