rprintf(F," -v, --verbose increase verbosity\n");
rprintf(F," -q, --quiet decrease verbosity\n");
rprintf(F," -c, --checksum always checksum\n");
- rprintf(F," -a, --archive archive mode, equivalent to -rlptgoD\n");
+ rprintf(F," -a, --archive archive mode, equivalent to -rlptgoD (no -H)\n");
rprintf(F," -r, --recursive recurse into directories\n");
rprintf(F," -R, --relative use relative path names\n");
rprintf(F," --no-relative turn off --relative\n");
struct poptOption *op =
&long_options[opt-OPT_REFUSED_BASE];
int n = snprintf(err_buf, sizeof err_buf,
- "This server does not support --%s\n",
+ "The server is configured to refuse --%s\n",
op->longName) - 1;
if (op->shortName) {
snprintf(err_buf+n, sizeof err_buf-n,
am_server ? "server" : "client");
return 0;
#endif
- } else if (partial_dir) {
- if (strcmp(partial_dir, ".") == 0)
- partial_dir = NULL;
- keep_partial = 1;
+ if (compare_dest) {
+ snprintf(err_buf, sizeof err_buf,
+ "--inplace does not yet work with %s\n",
+ link_dest ? "--link-dest" : "--compare-dest");
+ return 0;
+ }
+ } else {
+ if (keep_partial && !partial_dir)
+ partial_dir = getenv("RSYNC_PARTIAL_DIR");
+ if (partial_dir) {
+ if (!*partial_dir || strcmp(partial_dir, ".") == 0)
+ partial_dir = NULL;
+ else if (*partial_dir != '/') {
+ add_exclude(&exclude_list, partial_dir,
+ XFLG_DIRECTORY);
+ }
+ keep_partial = 1;
+ }
}
if (files_from) {
if (am_sender) {
if (delete_excluded)
args[ac++] = "--delete-excluded";
- else if (delete_mode
- && (!delete_after || protocol_version < 27))
+ else if (delete_mode)
args[ac++] = "--delete";
if (delete_after)