# HG changeset patch # User Pierre-Yves David # Date 1732788307 -3600 # Node ID 6feb3b3029b5dbb5b9380db0740a54c0baf16195 # Parent 061bfd699a566b38e82c742b0d700fde432a0eac stream: consistently close progress before reporting time Seems more logical. We also take this as an opportunity to explicitly track bytes count in "v2" as relying on progress internal start is error prone. diff -r 061bfd699a56 -r 6feb3b3029b5 mercurial/streamclone.py --- a/mercurial/streamclone.py Thu Nov 28 11:05:02 2024 +0100 +++ b/mercurial/streamclone.py Thu Nov 28 11:05:07 2024 +0100 @@ -1069,6 +1069,7 @@ _(b'clone'), total=filesize, unit=_(b'bytes') ) progress.update(0) + byte_count = 0 vfsmap = _makemap(repo) # we keep repo.vfs out of the on purpose, ther are too many danger @@ -1100,6 +1101,7 @@ with vfs(name, b'w') as ofp: for chunk in util.filechunkiter(fp, limit=datalen): + byte_count += len(chunk) progress.increment(step=len(chunk)) ofp.write(chunk) @@ -1107,8 +1109,8 @@ # streamclone-ed file at next access repo.invalidate(clearfilecache=True) - _report_transferred(repo, start, progress.pos) progress.complete() + _report_transferred(repo, start, byte_count) def consumev3(repo, fp) -> None: @@ -1173,8 +1175,8 @@ # streamclone-ed file at next access repo.invalidate(clearfilecache=True) + progress.complete() _report_transferred(repo, start, bytes_transferred) - progress.complete() def applybundlev2(