rebase/progress: Adding progress for rebasing

timeless timeless at gmail.com
Thu Jul 29 05:46:54 CDT 2010


This has been sitting around in one of my computers for a while. If
someone could try it out, that's probably better than it rotting :).

# HG changeset patch
# User timeless <timeless at gmail.com>
# Date 1279652028 -7200
# Node ID 0b34c81e52ee52502f23e866cfb3ee1fa28f0db2
# Parent  f0bc1dd94df9485536fdbe79b191bf178b883dcc
rebase/progress: Adding progress for rebasing

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -148,9 +148,13 @@ def rebase(ui, repo, **opts):
             targetancestors = set(repo.changelog.ancestors(target))
             targetancestors.add(target)

-        for rev in sorted(state):
+        sortedstate = sorted(state)
+        total = len(sortedstate)
+        pos = 0
+        for rev in sortedstate:
+            pos += 1
             if state[rev] == -1:
-                ui.debug("rebasing %d:%s\n" % (rev, repo[rev]))
+                ui.progress(_("rebasing"), pos, ("%d:%s" % (rev,
repo[rev])), _(' changesets'), total)
                 storestatus(repo, originalwd, target, state, collapsef, keepf,
                                                     keepbranchesf, external)
                 p1, p2 = defineparents(repo, rev, target, state,
@@ -179,6 +183,7 @@ def rebase(ui, repo, **opts):
                         skipped.add(rev)
                     state[rev] = p1

+        ui.progress(_('rebasing'), None)
         ui.note(_('rebase merging completed\n'))

         if collapsef and not keepopen:


More information about the Mercurial-devel mailing list