D5528: progress: move cached debug flag from progress.progbar to scmutil.progress

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Tue Jan 8 18:11:20 UTC 2019


martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  It's simpler this way. One possible drawback (and a possisble
  advantage) is that we now check the debug flag once per topic, so
  processes that generate new topics all the time will still check the
  flag frequently.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D5528

AFFECTED FILES
  mercurial/progress.py
  mercurial/scmutil.py

CHANGE DETAILS

diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -1421,6 +1421,7 @@
         self.topic = topic
         self.unit = unit
         self.total = total
+        self.debug = ui.configbool('progress', 'debug')
 
     def __enter__(self):
         return self
@@ -1458,14 +1459,7 @@
             self.ui._progbar.progress(self.topic, self.pos, item=item,
                                       unit=self.unit, total=self.total)
 
-            # Looking up progress.debug in tight loops is expensive. The value
-            # is cached on the progbar object and we can avoid the lookup in
-            # the common case where a progbar is active.
-            if self.pos is None or not self.ui._progbar.debug:
-                return
-
-        # Keep this logic in sync with above.
-        if self.pos is None or not self.ui.configbool('progress', 'debug'):
+        if self.pos is None or not self.debug:
             return
 
         if self.unit:
diff --git a/mercurial/progress.py b/mercurial/progress.py
--- a/mercurial/progress.py
+++ b/mercurial/progress.py
@@ -104,8 +104,6 @@
         self.order = self.ui.configlist('progress', 'format')
         self.estimateinterval = self.ui.configwith(
             float, 'progress', 'estimateinterval')
-        # developer config: progress.debug
-        self.debug = self.ui.configbool('progress', 'debug')
 
     def show(self, now, topic, pos, item, unit, total):
         if not shouldprint(self.ui):



To: martinvonz, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list