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;
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 {
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
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