From: Wayne Davison Date: Wed, 27 Oct 2004 06:34:13 +0000 (+0000) Subject: Don't ever call make_backup() if we're removing a destination directory X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/f80a8520e81d07a24f0db8776b75d8438edf9fb3 Don't ever call make_backup() if we're removing a destination directory (just remove it). --- diff --git a/receiver.c b/receiver.c index 124a2808..3618ed19 100644 --- a/receiver.c +++ b/receiver.c @@ -122,16 +122,16 @@ void delete_files(struct file_list *flist) continue; if (flist_find(flist,local_file_list->files[i]) < 0) { char *f = f_name(local_file_list->files[i]); - if (make_backups && (backup_dir || !is_backup_file(f))) { + int mode = local_file_list->files[i]->mode; + if (make_backups && (backup_dir || !is_backup_file(f)) + && !S_ISDIR(mode)) { make_backup(f); if (verbose) { rprintf(FINFO, "deleting %s\n", safe_fname(f)); } - } else { - int mode = local_file_list->files[i]->mode; + } else delete_one(f, S_ISDIR(mode) != 0); - } deletion_count++; } }