Rev 2995: Merge up pb bar correctness for reconcile. in http://people.ubuntu.com/~robertc/baz2.0/reconcile
Robert Collins
robertc at robertcollins.net
Thu Nov 15 23:13:58 GMT 2007
At http://people.ubuntu.com/~robertc/baz2.0/reconcile
------------------------------------------------------------
revno: 2995
revision-id:robertc at robertcollins.net-20071115231348-0vjmr1e8a1x3rx1p
parent: robertc at robertcollins.net-20071115223817-m5mzq041xuj5xu42
parent: robertc at robertcollins.net-20071115230714-hecwd6q1u68w2j9r
committer: Robert Collins <robertc at robertcollins.net>
branch nick: get_versioned_file_checker
timestamp: Fri 2007-11-16 10:13:48 +1100
message:
Merge up pb bar correctness for reconcile.
modified:
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
------------------------------------------------------------
revno: 2993.1.1
revision-id:robertc at robertcollins.net-20071115230714-hecwd6q1u68w2j9r
parent: robertc at robertcollins.net-20071115211844-3npqwsnifwdsh5kr
committer: Robert Collins <robertc at robertcollins.net>
branch nick: _generate_text_key_index
timestamp: Fri 2007-11-16 10:07:14 +1100
message:
Handle the progress bar in _generate_text_key_index correctly.
modified:
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py 2007-11-15 22:38:17 +0000
+++ b/bzrlib/repository.py 2007-11-15 23:13:48 +0000
@@ -1241,12 +1241,21 @@
# All revisions, to find inventory parents.
revision_graph = self.get_revision_graph_with_ghosts()
ancestors = revision_graph.get_ancestors()
+ text_key_references = self.find_text_key_references()
+ pb = ui.ui_factory.nested_progress_bar()
+ try:
+ return self._do_generate_text_key_index(ancestors,
+ text_key_references, pb)
+ finally:
+ pb.finished()
+
+ def _do_generate_text_key_index(self, ancestors, text_key_references, pb):
+ """Helper for _generate_text_key_index to avoid deep nesting."""
revision_order = tsort.topo_sort(ancestors)
invalid_keys = set()
revision_keys = {}
for revision_id in revision_order:
revision_keys[revision_id] = set()
- text_key_references = self.find_text_key_references()
text_count = len(text_key_references)
# a cache of the text keys to allow reuse; costs a dict of all the
# keys, but saves a 2-tuple for every child of a given key.
@@ -1267,7 +1276,6 @@
# could gauge this by looking at available real memory etc, but this is
# always a tricky proposition.
inventory_cache = lru_cache.LRUCache(10)
- pb = ui.ui_factory.nested_progress_bar()
batch_size = 10 # should be ~150MB on a 55K path tree
batch_count = len(revision_order) / batch_size + 1
processed_texts = 0
More information about the bazaar-commits
mailing list