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