X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/a20c9893e48771be31befbb1ef809e87a658db61..ac1541f4b780037a726ffc3f09db108fb970f194:/options.c diff --git a/options.c b/options.c index 9c971910..36be7f26 100644 --- a/options.c +++ b/options.c @@ -232,7 +232,7 @@ void usage(enum logcode F) 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"); @@ -623,7 +623,7 @@ int parse_arguments(int *argc, const char ***argv, int frommain) 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, @@ -833,10 +833,18 @@ int parse_arguments(int *argc, const char ***argv, int frommain) 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) {