• Nicolas Pitre's avatar
    Show total transferred as part of throughput progress · 81f6654a
    Nicolas Pitre authored
    Right now it is infeasible to offer to the user a reasonable concept
    of when a clone will be complete as we aren't able to come up with
    the final pack size until after we have actually transferred the
    entire thing to the client.  However in many cases users can work
    with a rough rule-of-thumb; for example it is somewhat well known
    that git.git is about 16 MiB today and that linux-2.6.git is over
    120 MiB.
    
    We now show the total amount of data we have transferred over
    the network as part of the throughput meter, organizing it in
    "human friendly" terms like `ls -h` would do.  Users can glance at
    this, see that the total transferred size is about 3 MiB, see the
    throughput of X KiB/sec, and determine a reasonable figure of about
    when the clone will be complete, assuming they know the rough size
    of the source repository or are able to obtain it.
    
    This is also a helpful indicator that there is progress being made
    even if we stall on a very large object.  The thoughput meter may
    remain relatively constant and the percentage complete and object
    count won't be changing, but the total transferred will be increasing
    as additional data is received for this object.
    
    [from an initial proposal from Shawn O. Pearce]
    Signed-off-by: default avatarNicolas Pitre <nico@cam.org>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    81f6654a
progress.c 5.6 KB