Mercurial > hg-stable
changeset 39415:ddfd80029306
hg: ensure the progress bar is completed when copying the store
This is just a block indent under the context manager.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 25 Aug 2018 12:26:44 -0400 |
parents | da84cca65036 |
children | b26350d9d7b5 |
files | mercurial/hg.py |
diffstat | 1 files changed, 24 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hg.py Fri Aug 31 21:10:28 2018 +0900 +++ b/mercurial/hg.py Sat Aug 25 12:26:44 2018 -0400 @@ -381,31 +381,30 @@ try: hardlink = None topic = _('linking') if hardlink else _('copying') - progress = ui.makeprogress(topic) - num = 0 - srcpublishing = srcrepo.publishing() - srcvfs = vfsmod.vfs(srcrepo.sharedpath) - dstvfs = vfsmod.vfs(destpath) - for f in srcrepo.store.copylist(): - if srcpublishing and f.endswith('phaseroots'): - continue - dstbase = os.path.dirname(f) - if dstbase and not dstvfs.exists(dstbase): - dstvfs.mkdir(dstbase) - if srcvfs.exists(f): - if f.endswith('data'): - # 'dstbase' may be empty (e.g. revlog format 0) - lockfile = os.path.join(dstbase, "lock") - # lock to avoid premature writing to the target - destlock = lock.lock(dstvfs, lockfile) - hardlink, n = util.copyfiles(srcvfs.join(f), dstvfs.join(f), - hardlink, progress) - num += n - if hardlink: - ui.debug("linked %d files\n" % num) - else: - ui.debug("copied %d files\n" % num) - progress.complete() + with ui.makeprogress(topic) as progress: + num = 0 + srcpublishing = srcrepo.publishing() + srcvfs = vfsmod.vfs(srcrepo.sharedpath) + dstvfs = vfsmod.vfs(destpath) + for f in srcrepo.store.copylist(): + if srcpublishing and f.endswith('phaseroots'): + continue + dstbase = os.path.dirname(f) + if dstbase and not dstvfs.exists(dstbase): + dstvfs.mkdir(dstbase) + if srcvfs.exists(f): + if f.endswith('data'): + # 'dstbase' may be empty (e.g. revlog format 0) + lockfile = os.path.join(dstbase, "lock") + # lock to avoid premature writing to the target + destlock = lock.lock(dstvfs, lockfile) + hardlink, n = util.copyfiles(srcvfs.join(f), dstvfs.join(f), + hardlink, progress) + num += n + if hardlink: + ui.debug("linked %d files\n" % num) + else: + ui.debug("copied %d files\n" % num) return destlock except: # re-raises release(destlock)