changeset 41156:f36fd52dae8f

perfrevlogwrite: use progress helper on modern hg Differential Revision: https://phab.mercurial-scm.org/D5372
author Martin von Zweigbergk <martinvonz@google.com>
date Tue, 04 Dec 2018 11:22:31 -0800
parents 8c222bec97da
children c4639fdae1b9
files contrib/perf.py
diffstat 1 files changed, 16 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/perf.py	Tue Jan 08 14:19:51 2019 -0800
+++ b/contrib/perf.py	Tue Dec 04 11:22:31 2018 -0800
@@ -1838,8 +1838,21 @@
         topic = 'adding'
         if runidx is not None:
             topic += ' (run #%d)' % runidx
+         # Support both old and new progress API
+        if util.safehasattr(ui, 'makeprogress'):
+            progress = ui.makeprogress(topic, unit='revs', total=total)
+            def updateprogress(pos):
+                progress.update(pos)
+            def completeprogress():
+                progress.complete()
+        else:
+            def updateprogress(pos):
+                ui.progress(topic, pos, unit='revs', total=total)
+            def completeprogress():
+                ui.progress(topic, None, unit='revs', total=total)
+
         for idx, rev in enumerate(revs):
-            ui.progress(topic, idx, unit='revs', total=total)
+            updateprogress(idx)
             addargs, addkwargs = _getrevisionseed(orig, rev, tr, source)
             if clearcaches:
                 dest.index.clearcaches()
@@ -1847,8 +1860,8 @@
             with timeone() as r:
                 dest.addrawrevision(*addargs, **addkwargs)
             timings.append((rev, r[0]))
-        ui.progress(topic, total, unit='revs', total=total)
-        ui.progress(topic, None, unit='revs', total=total)
+        updateprogress(total)
+        completeprogress()
     return timings
 
 def _getrevisionseed(orig, rev, tr, source):