[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Mon Feb 24 11:07:33 MST 2014


The branch, master has been updated
       via  cd909fd Fix --info=progress2 info as a file is transferred.
      from  4dfe7c9 Improve the *.spec file a bit.

;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit cd909fde87b75ce7f75b9b7e8733d9133cde3ae9
Author: Wayne Davison <wayned at samba.org>
Date:   Mon Feb 24 09:49:04 2014 -0800

    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.

-----------------------------------------------------------------------

Summary of changes:
 NEWS       |    5 +++++
 progress.c |   11 ++++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS b/NEWS
index dc1df78..e1f5412 100644
--- a/NEWS
+++ b/NEWS
@@ -31,6 +31,11 @@ Changes since 3.1.0:
     - Fixed a bug that caused a failure when combining --delete-missing-args
       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 a problem with delete messages not appearing in the log file when
diff --git a/progress.c b/progress.c
index 8fade9c..318a77f 100644
--- a/progress.c
+++ b/progress.c
@@ -177,6 +177,11 @@ void show_progress(OFF_T ofs, OFF_T size)
 
 	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) {
 		int i;
 
@@ -212,9 +217,5 @@ void show_progress(OFF_T ofs, OFF_T size)
 		return;
 #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);
 }


-- 
The rsync repository.


More information about the rsync-cvs mailing list