- } 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;
+ }