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,
link_dest ? "--link-dest" : "--compare-dest");
return 0;
}
- } else if (partial_dir) {
- if (strcmp(partial_dir, ".") == 0)
- partial_dir = NULL;
- keep_partial = 1;
+ } 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)