X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/f846a9bfe9d2d41272cfbc54c8faac3aa7f8981c..f2ae9e8583d289ed876c3666bd533dba13ffbfb8:/main.c diff --git a/main.c b/main.c index d889a123..f48febe8 100644 --- a/main.c +++ b/main.c @@ -34,7 +34,6 @@ extern int blocking_io; extern int cvs_exclude; extern int delete_mode; extern int delete_before; -extern int delete_after; extern int delete_excluded; extern int daemon_over_rsh; extern int do_stats; @@ -65,11 +64,10 @@ extern char *basis_dir[]; extern char *rsync_path; extern char *shell_cmd; extern char *batch_name; +extern struct filter_list_struct filter_list; - -/* there's probably never more than at most 2 outstanding child processes, - * but set it higher just in case. - */ +/* There's probably never more than at most 2 outstanding child processes, + * but set it higher, just in case. */ #define MAXCHILDPROCS 5 struct pid_status { @@ -502,10 +500,9 @@ 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) { - /* I moved this here from recv_files() to prevent a race condition */ - if (recurse && !local_name && flist->count > 0) - delete_files(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 @@ -625,8 +622,8 @@ static void do_server_recv(int f_in, int f_out, int argc,char *argv[]) io_start_buffering_in(); if (delete_mode && !delete_excluded) recv_filter_list(f_in); - if (cvs_exclude) - add_cvs_excludes(); + if (cvs_exclude && protocol_version < 29) + add_filter(&filter_list, ":C", 0); if (filesfrom_fd >= 0) { /* We need to send the files-from names to the sender at the