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

timeless timeless at gmail.com
Sun Aug 1 16:10:51 CDT 2010


On Sun, Aug 1, 2010 at 8:04 PM, timeless <timeless at gmail.com> wrote:
As some of you know, i'm doing regular rebases of a ~150 long mq
against mozilla-central, which is well, long and painful.
I found the output "merging whatever" is really unhelpful and rather
annoying. What I'm interested in when i have the progress extension is
what part of the rebase step it's at (rebasing <x>).

# HG changeset patch
# User timeless <timeless at gmail.com>
# Date 1280696564 -10800
# Node ID fcf6f29713b96bc1d6914aaa68020acc20ff1d1b
# Parent  1b5facc99e171f37262bbfdd63c02543e1507a6a
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
@@ -198,7 +198,14 @@ def rebase(ui, repo, **opts):
                                   extrafn=extrafn)

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

         if not keepf:
             # Remove no more useful revisions
@@ -233,10 +240,15 @@ def rebasemerge(repo, rev, first=False):
         ancestor.ancestor = newancestor
     else:
         repo.ui.debug("first revision, do not change ancestor\n")
+    progress = extensions.find('progress')
+    if 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