Code

make sure throughput display gets updated even if progress doesn't move
authorNicolas Pitre <nico@cam.org>
Thu, 1 Nov 2007 20:59:56 +0000 (16:59 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Nov 2007 22:22:32 +0000 (15:22 -0700)
Currently the progress/throughput display update happens only through
display_progress().  If the progress based on object count remains
unchanged because a large object is being received, the latest throughput
won't be displayed.  The display update should occur through
display_throughput() as well.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
progress.c

index 34a59611fbb4c94bd0bd39d95a24cbd3280a6da0..39d5d2c9f26e7da88846cecdc13cb440832508ca 100644 (file)
@@ -160,6 +160,9 @@ void display_throughput(struct progress *progress, unsigned long n)
                tp->last_misecs[tp->idx] = misecs;
                tp->idx = (tp->idx + 1) % TP_IDX_MAX;
                tp->count = 0;
+
+               if (progress->last_value != -1 && progress_update)
+                       display(progress, progress->last_value, 0);
        }
 }