X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/8a9cfb24590872230f6928cf00f5b994b3f537dc..e844be4e7bfb2c0d9ea583cb4d507217f14ffa4d:/sender.c diff --git a/sender.c b/sender.c index 5524b6f6..e1bee367 100644 --- a/sender.c +++ b/sender.c @@ -20,8 +20,8 @@ #include "rsync.h" extern int verbose; -extern int itemize_changes; extern int log_before_transfer; +extern int itemize_changes; extern int csum_length; extern struct stats stats; extern int io_error; @@ -144,13 +144,16 @@ void send_files(struct file_list *flist, int f_out, int f_in) file = flist->files[i]; - if (itemize_changes) { - iflags = read_byte(f_in); + if (protocol_version >= 29) { + iflags = read_short(f_in); if (!(iflags & ITEM_UPDATING) || !S_ISREG(file->mode)) { if (am_server) { write_int(f_out, i); - write_byte(f_out, iflags); - } else + write_short(f_out, iflags); + } else if (itemize_changes + || iflags & ITEM_UPDATING + || (S_ISDIR(file->mode) + && iflags & ITEM_REPORT_TIME)) log_send(file, &stats, iflags); continue; } @@ -186,13 +189,11 @@ void send_files(struct file_list *flist, int f_out, int f_in) rprintf(FINFO, "send_files(%d, %s)\n", i, fname); if (dry_run) { /* log the transfer */ - if (!am_server && verbose && !log_format) - rprintf(FINFO, "%s\n", safe_fname(fname2)); - else if (!am_server) + if (!am_server && log_format) log_send(file, &stats, iflags); write_int(f_out, i); - if (itemize_changes) - write_byte(f_out, iflags); + if (protocol_version >= 29) + write_short(f_out, iflags); continue; } @@ -244,8 +245,8 @@ void send_files(struct file_list *flist, int f_out, int f_in) } write_int(f_out, i); - if (itemize_changes) - write_byte(f_out, iflags); + if (protocol_version >= 29) + write_short(f_out, iflags); write_sum_head(f_out, s); if (verbose > 2) { @@ -255,7 +256,7 @@ void send_files(struct file_list *flist, int f_out, int f_in) if (log_before_transfer) log_send(file, &initial_stats, iflags); - else if (!am_server && verbose && (!log_format || do_progress)) + else if (!am_server && verbose && do_progress) rprintf(FINFO, "%s\n", safe_fname(fname2)); set_compression(fname);