Fix --info=progress2 info as a file is transferred.

Applying Anish Shankar's patch to fix speed and stats of files as they
are transferred.  Fixes bug 10450.
This commit is contained in:
Wayne Davison
2014-02-24 09:49:04 -08:00
parent 4dfe7c9f3e
commit cd909fde87
2 changed files with 11 additions and 5 deletions

5
NEWS
View File

@@ -31,6 +31,11 @@ Changes since 3.1.0:
- Fixed a bug that caused a failure when combining --delete-missing-args - Fixed a bug that caused a failure when combining --delete-missing-args
with --xattrs and/or --acls. with --xattrs and/or --acls.
- Fixed a problem with --info=progress2's output stats where rsync would
only update the stats at the end of each file's transfer. It now uses
the data that is flowing for the current file, making the stats more
accurate and less jumpy.
- Fixed an itemize bug that affected the combo of --link-dest, -X, and -n. - Fixed an itemize bug that affected the combo of --link-dest, -X, and -n.
- Fixed a problem with delete messages not appearing in the log file when - Fixed a problem with delete messages not appearing in the log file when

View File

@@ -177,6 +177,11 @@ void show_progress(OFF_T ofs, OFF_T size)
gettimeofday(&now, NULL); gettimeofday(&now, NULL);
if (INFO_GTE(PROGRESS, 2)) {
ofs = stats.total_transferred_size - size + ofs;
size = stats.total_size;
}
if (!ph_start.time.tv_sec) { if (!ph_start.time.tv_sec) {
int i; int i;
@@ -212,9 +217,5 @@ void show_progress(OFF_T ofs, OFF_T size)
return; return;
#endif #endif
if (INFO_GTE(PROGRESS, 2)) {
rprint_progress(stats.total_transferred_size,
stats.total_size, &now, False);
} else
rprint_progress(ofs, size, &now, False); rprint_progress(ofs, size, &now, False);
} }