[PATCH] annotate/progress: Adding progress for annotate

timeless timeless at gmail.com
Tue Oct 19 03:15:21 CDT 2010


# HG changeset patch
# User timeless <timeless at gmail.com>
# Date 1287475747 -10800
# Node ID 42aa6087780d6c328e63112741ed2c1b82962276
# Parent  13f0acfa974a1bb4d3f3190a107ea0539edcbbdd
annotate/progress: Adding progress for annotate

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -485,8 +485,14 @@ class filectx(object):
         for f in files:
             visit.extend(n for n in needed if n._path == f)
 
+        ui = self._repo.ui
         hist = {}
-        for f in sorted(visit, key=lambda x: x.rev()):
+        visited = 0
+        list = sorted(visit, key=lambda x: x.rev())
+        total = len(list)
+        for f in list:
+            visited += 1
+            ui.progress(_("visiting"), visited, total=total, unit=_("files"))
             curr = decorate(f.data(), f)
             for p in parents(f):
                 curr = pair(hist[p], curr)
@@ -495,6 +501,7 @@ class filectx(object):
                 if not needed[p]:
                     del hist[p]
             hist[f] = curr
+        ui.progress(_("visiting"), None)
 
         return zip(hist[f][0], hist[f][1].splitlines(True))
 


More information about the Mercurial-devel mailing list