X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/417099fa203356705454dbbbc6b632e7c17c2036..3cd5301f401add0bfab69c28e8c82e62c40f31db:/generator.c diff --git a/generator.c b/generator.c index b991500a..3bb37497 100644 --- a/generator.c +++ b/generator.c @@ -25,6 +25,7 @@ extern int verbose; extern int dry_run; +extern int do_xfers; extern int log_format_has_i; extern int log_format_has_o_or_i; extern int daemon_log_format_has_i; @@ -667,7 +668,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, if (only_existing && statret == -1 && stat_errno == ENOENT) { /* we only want to update existing files */ if (verbose > 1) { - rprintf(FINFO, "not creating new file \"%s\"\n", + rprintf(FINFO, "not creating new %s \"%s\"\n", + S_ISDIR(file->mode) ? "directory" : "file", safe_fname(fname)); } return; @@ -721,6 +723,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, if (max_size && file->length > max_size) { if (verbose > 1) { + if (the_file_list->count == 1) + fname = f_name(file); rprintf(FINFO, "%s is over max-size\n", safe_fname(fname)); } @@ -731,6 +735,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, #ifdef SUPPORT_LINKS if (safe_symlinks && unsafe_symlink(file->u.link, fname)) { if (verbose) { + if (the_file_list->count == 1) + fname = f_name(file); rprintf(FINFO, "ignoring unsafe symlink %s -> \"%s\"\n", full_fname(fname), @@ -823,10 +829,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, return; } - if (preserve_hard_links && hard_link_check(file, ndx, HL_CHECK_MASTER)) + if (preserve_hard_links + && hard_link_check(file, ndx, fname, statret, &st, + itemizing, code, HL_CHECK_MASTER)) return; if (!S_ISREG(file->mode)) { + if (the_file_list->count == 1) + fname = f_name(file); rprintf(FINFO, "skipping non-regular file \"%s\"\n", safe_fname(fname)); return; @@ -906,11 +916,6 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, itemizing && verbose > 1, code) == 0) return; - if (verbose) { - rsyserr(FINFO, errno, "link %s => %s", - full_fname(fnamecmpbuf), - safe_fname(fname)); - } match_level = 2; } #endif @@ -979,7 +984,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, } if (statret != 0) { - if (preserve_hard_links && hard_link_check(file, ndx, HL_SKIP)) + if (preserve_hard_links + && hard_link_check(file, ndx, fname, statret, &st, + itemizing, code, HL_SKIP)) return; if (stat_errno == ENOENT) goto notify_others; @@ -1020,7 +1027,7 @@ prepare_to_open: statret = 0; } - if (dry_run || read_batch || whole_file) + if (!do_xfers || read_batch || whole_file) goto notify_others; if (fuzzy_basis) { @@ -1037,7 +1044,9 @@ prepare_to_open: full_fname(fnamecmp)); pretend_missing: /* pretend the file didn't exist */ - if (preserve_hard_links && hard_link_check(file, ndx, HL_SKIP)) + if (preserve_hard_links + && hard_link_check(file, ndx, fname, statret, &st, + itemizing, code, HL_SKIP)) return; statret = real_ret = -1; goto notify_others; @@ -1092,7 +1101,7 @@ notify_others: fuzzy_file ? fuzzy_file->basename : NULL); } - if (dry_run) { + if (!do_xfers) { if (preserve_hard_links && file->link_u.links) hard_link_cluster(file, ndx, itemizing, code); return; @@ -1132,6 +1141,7 @@ void generate_files(int f_out, struct file_list *flist, char *local_name) int save_only_existing = only_existing; int save_opt_ignore_existing = opt_ignore_existing; int save_do_progress = do_progress; + int save_make_backups = make_backups; allowed_lull = read_batch ? 0 : (io_timeout + 1) / 2; lull_mod = allowed_lull * 5; @@ -1141,9 +1151,9 @@ void generate_files(int f_out, struct file_list *flist, char *local_name) maybe_PERMS_REPORT = log_format_has_i ? 0 : PERMS_REPORT; code = daemon_log_format_has_i ? 0 : FLOG; } else if (am_daemon) { - itemizing = daemon_log_format_has_i && !dry_run; + itemizing = daemon_log_format_has_i && do_xfers; maybe_PERMS_REPORT = PERMS_REPORT; - code = itemizing || dry_run ? FCLIENT : FINFO; + code = itemizing || !do_xfers ? FCLIENT : FINFO; } else if (!am_server) { itemizing = log_format_has_i; maybe_PERMS_REPORT = log_format_has_i ? 0 : PERMS_REPORT; @@ -1205,7 +1215,7 @@ void generate_files(int f_out, struct file_list *flist, char *local_name) if (allowed_lull && !(i % lull_mod)) maybe_send_keepalive(); - else if (!(i % 50)) + else if (!(i % 200)) maybe_flush_socket(); } recv_generator(NULL, NULL, 0, 0, 0, code, -1); @@ -1240,6 +1250,7 @@ void generate_files(int f_out, struct file_list *flist, char *local_name) phase++; only_existing = save_only_existing; opt_ignore_existing = save_opt_ignore_existing; + make_backups = save_make_backups; if (verbose > 2) rprintf(FINFO,"generate_files phase=%d\n",phase); @@ -1282,7 +1293,7 @@ void generate_files(int f_out, struct file_list *flist, char *local_name) maybe_PERMS_REPORT, code, -1); if (allowed_lull && !(++j % lull_mod)) maybe_send_keepalive(); - else if (!(j % 50)) + else if (!(j % 200)) maybe_flush_socket(); } }