[PATCH] rebase/progress: suppress merge+mq output when progress is active

timeless timeless at gmail.com
Thu Oct 14 03:20:10 CDT 2010


When using progress, the output from merge/mq is really unhelpful
during rebase. This patch suppresses it.

# HG changeset patch
# User timeless <timeless at gmail.com>
# Date 1280722547 -10800
# Node ID fb7049335247fa5dbdcf2ca039f15f55bf40e8af
# Parent  531eec4d858686ea73d5e63f32f8059cad754e54
rebase/progress: suppress merge+mq output when progress is active

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -199,7 +199,15 @@ def rebase(ui, repo, **opts):
                                   extrafn=extrafn)

         if 'qtip' in repo.tags():
-            updatemq(repo, state, skipped, **opts)
+            progress = None
+            if 'progress' in extensions.enabled():
+                progress = extensions.find('progress')
+                repo.ui.pushbuffer()
+            try:
+                updatemq(repo, state, skipped, **opts)
+            finally:
+                if progress:
+                    repo.ui.popbuffer()

         if not keepf:
             # Remove no more useful revisions
@@ -234,10 +242,16 @@ def rebasemerge(repo, rev, first=False):
         ancestor.ancestor = newancestor
     else:
         repo.ui.debug("first revision, do not change ancestor\n")
+    progress = None
+    if 'progress' in extensions.enabled():
+        progress = extensions.find('progress')
+        repo.ui.pushbuffer()
     try:
         stats = merge.update(repo, rev, True, True, False)
         return stats
     finally:
+        if progress:
+            repo.ui.popbuffer()
         ancestor.ancestor = oldancestor

 def checkexternal(repo, state, targetancestors):


More information about the Mercurial-devel mailing list