X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/cb8240a29171f3ef4e77e7d4809a446b3c3408e4..f08ca43472b518b93230acd853532d79b7e8a3a5:/main.c diff --git a/main.c b/main.c index 62a2b4d0..3cc21b59 100644 --- a/main.c +++ b/main.c @@ -32,7 +32,6 @@ extern int am_sender; extern int am_generator; extern int am_daemon; extern int blocking_io; -extern int delete_before; extern int remove_sent_files; extern int daemon_over_rsh; extern int need_messages_from_generator; @@ -49,6 +48,7 @@ extern int fuzzy_basis; extern int relative_paths; extern int rsync_port; extern int inplace; +extern int make_backups; extern int whole_file; extern int read_batch; extern int write_batch; @@ -499,7 +499,7 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name) int status = 0; int error_pipe[2], name_pipe[2]; BOOL need_name_pipe = (basis_dir[0] || partial_dir || fuzzy_basis - || inplace) && !dry_run; + || (inplace && make_backups)) && !dry_run; /* The receiving side mustn't obey this, or an existing symlink that * points to an identical file won't be replaced by the referent. */ @@ -508,11 +508,6 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name) if (preserve_hard_links) init_hard_links(flist); - if (delete_before && !local_name && flist->count > 0) { - /* Moved here from recv_files() to prevent a race condition */ - delete_files(flist); - } - if (fd_pair(error_pipe) < 0 || (need_name_pipe && fd_pair(name_pipe) < 0)) { rsyserr(FERROR, errno, "pipe failed in do_recv");