Rev 1646: Add progress bars to mergeinfo generation code. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk

Jelmer Vernooij jelmer at samba.org
Mon Aug 25 00:19:11 BST 2008


At http://people.samba.org/bzr/jelmer/bzr-svn/trunk

------------------------------------------------------------
revno: 1646
revision-id: jelmer at samba.org-20080824231858-wywzsxzzghwspebv
parent: jelmer at samba.org-20080824221546-ojv94xjx7dl6asvv
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Mon 2008-08-25 01:18:58 +0200
message:
  Add progress bars to mergeinfo generation code.
modified:
  commit.py                      commit.py-20060607190346-qvq128wgfubhhgm2-1
=== modified file 'commit.py'
--- a/commit.py	2008-08-24 20:41:08 +0000
+++ b/commit.py	2008-08-24 23:18:58 +0000
@@ -87,17 +87,22 @@
 
 
 def update_mergeinfo(repository, graph, oldvalue, baserevid, merges):
-    mergeinfo = properties.parse_mergeinfo_property(oldvalue)
-    for merge in merges:
-        for (revid, parents) in graph.iter_ancestry([merge]):
-            if graph.is_ancestor(revid, baserevid):
-                break
-            try:
-                (path, revnum, mapping) = repository.lookup_revision_id(revid)
-            except NoSuchRevision:
-                break
+    pb = ui.ui_factory.nested_progress_bar()
+    try:
+        mergeinfo = properties.parse_mergeinfo_property(oldvalue)
+        for i, merge in enumerate(merges):
+            pb.update("updating mergeinfo property", i, len(merges))
+            for (revid, parents) in graph.iter_ancestry([merge]):
+                if graph.is_ancestor(revid, baserevid):
+                    break
+                try:
+                    (path, revnum, mapping) = repository.lookup_revision_id(revid)
+                except NoSuchRevision:
+                    break
 
-            properties.mergeinfo_add_revision(mergeinfo, "/" + path, revnum)
+                properties.mergeinfo_add_revision(mergeinfo, "/" + path, revnum)
+    finally:
+        pb.finished()
     newvalue = properties.generate_mergeinfo_property(mergeinfo)
     if newvalue != oldvalue:
         return newvalue




More information about the bazaar-commits mailing list