Rev 3368: Test absent record emission more stringently. in http://people.ubuntu.com/~robertc/baz2.0/versioned_files
Robert Collins
robertc at robertcollins.net
Wed Apr 30 05:13:56 BST 2008
At http://people.ubuntu.com/~robertc/baz2.0/versioned_files
------------------------------------------------------------
revno: 3368
revision-id: robertc at robertcollins.net-20080430041351-14fg6mvv6581lsjb
parent: robertc at robertcollins.net-20080430025031-3e4hnirlk03cmq4h
committer: Robert Collins <robertc at robertcollins.net>
branch nick: data_stream_revamp
timestamp: Wed 2008-04-30 14:13:51 +1000
message:
Test absent record emission more stringently.
modified:
bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
bzrlib/weave.py knit.py-20050627021749-759c29984154256b
=== modified file 'bzrlib/tests/test_versionedfile.py'
--- a/bzrlib/tests/test_versionedfile.py 2008-04-30 02:50:31 +0000
+++ b/bzrlib/tests/test_versionedfile.py 2008-04-30 04:13:51 +0000
@@ -210,6 +210,13 @@
f, parents = get_diamond_vf(self.get_file())
entries = f.get_record_stream(['merged', 'left', 'right', 'or', 'base'],
'unordered', False)
+ self.assertAbsentRecord(f, parents, entries)
+ entries = f.get_record_stream(['merged', 'left', 'right', 'or', 'base'],
+ 'topological', False)
+ self.assertAbsentRecord(f, parents, entries)
+
+ def assertAbsentRecord(self, f, parents, entries):
+ """Helper for test_get_record_stream_missing_records_are_absent."""
seen = set()
for factory in entries:
seen.add(factory.key)
=== modified file 'bzrlib/weave.py'
--- a/bzrlib/weave.py 2008-04-29 23:08:36 +0000
+++ b/bzrlib/weave.py 2008-04-30 04:13:51 +0000
@@ -308,7 +308,9 @@
"""
if ordering == 'topological':
parents = self.get_parent_map(versions)
- versions = topo_sort(parents)
+ new_versions = topo_sort(parents)
+ new_versions.extend(set(versions).difference(set(parents)))
+ versions = new_versions
for version in versions:
if version in self:
yield WeaveContentFactory(version, self)
More information about the bazaar-commits
mailing list