Rev 2653: Index improvements. in http://people.ubuntu.com/~robertc/baz2.0/repository
Robert Collins
robertc at robertcollins.net
Sat Jul 14 16:49:29 BST 2007
At http://people.ubuntu.com/~robertc/baz2.0/repository
------------------------------------------------------------
revno: 2653
revision-id: robertc at robertcollins.net-20070714154926-g773i1j0pxjkouis
parent: robertc at robertcollins.net-20070714151535-d9ztsqivqyqwsrva
parent: robertc at robertcollins.net-20070714145757-n37rf8ezk0avc1eh
committer: Robert Collins <robertc at robertcollins.net>
branch nick: repository
timestamp: Sun 2007-07-15 01:49:26 +1000
message:
Index improvements.
modified:
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/tests/test_index.py test_index.py-20070712131115-lolkarso50vjr64s-2
------------------------------------------------------------
revno: 2626.1.5
revision-id: robertc at robertcollins.net-20070714145757-n37rf8ezk0avc1eh
parent: robertc at robertcollins.net-20070714072312-alys3q6a5211eegq
committer: Robert Collins <robertc at robertcollins.net>
branch nick: index
timestamp: Sun 2007-07-15 00:57:57 +1000
message:
CombinedGraphIndex.iter_entries does not need to see all entries.
modified:
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/tests/test_index.py test_index.py-20070712131115-lolkarso50vjr64s-2
=== modified file 'bzrlib/index.py'
--- a/bzrlib/index.py 2007-07-14 07:23:12 +0000
+++ b/bzrlib/index.py 2007-07-14 14:57:57 +0000
@@ -320,8 +320,9 @@
efficient order for the index.
"""
keys = set(keys)
- for node in self.iter_all_entries():
- if node[0] in keys:
+ for index in self._indices:
+ for node in index.iter_entries(keys):
+ keys.remove(node[0])
yield node
def validate(self):
=== modified file 'bzrlib/tests/test_index.py'
--- a/bzrlib/tests/test_index.py 2007-07-14 07:23:12 +0000
+++ b/bzrlib/tests/test_index.py 2007-07-14 14:57:57 +0000
@@ -372,6 +372,13 @@
('2', (), '')],
list(index.iter_all_entries()))
+ def test_iter_entries_two_indices_dup_key(self):
+ index1 = self.make_index('name1', nodes=[('name', (), 'data')])
+ index2 = self.make_index('name2', nodes=[('name', (), 'data')])
+ index = CombinedGraphIndex([index1, index2])
+ self.assertEqual([('name', (), 'data')],
+ list(index.iter_entries(['name'])))
+
def test_iter_all_entries_two_indices_dup_key(self):
index1 = self.make_index('name1', nodes=[('name', (), 'data')])
index2 = self.make_index('name2', nodes=[('name', (), 'data')])
More information about the bazaar-commits
mailing list