Rev 4520: Implement no-graph support for the Python version. in http://bazaar.launchpad.net/~jameinel/bzr/1.17-rework-annotate
John Arbash Meinel
john at arbash-meinel.com
Mon Jul 6 21:26:01 BST 2009
At http://bazaar.launchpad.net/~jameinel/bzr/1.17-rework-annotate
------------------------------------------------------------
revno: 4520
revision-id: john at arbash-meinel.com-20090706202529-maqhhfzsweu9tx9k
parent: john at arbash-meinel.com-20090706202134-19iakgxrs3yxi7k7
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: 1.17-rework-annotate
timestamp: Mon 2009-07-06 15:25:29 -0500
message:
Implement no-graph support for the Python version.
-------------- next part --------------
=== modified file 'bzrlib/_annotator_py.py'
--- a/bzrlib/_annotator_py.py 2009-07-06 19:16:19 +0000
+++ b/bzrlib/_annotator_py.py 2009-07-06 20:25:29 +0000
@@ -85,6 +85,9 @@
needed_keys = set()
next_parent_map.update(self._vf.get_parent_map(parent_lookup))
for key, parent_keys in next_parent_map.iteritems():
+ if parent_keys is None: # No graph versionedfile
+ parent_keys = ()
+ next_parent_map[key] = ()
self._update_needed_children(key, parent_keys)
needed_keys.update([key for key in parent_keys
if key not in parent_map])
=== modified file 'bzrlib/tests/test__annotator.py'
--- a/bzrlib/tests/test__annotator.py 2009-07-06 19:05:26 +0000
+++ b/bzrlib/tests/test__annotator.py 2009-07-06 20:25:29 +0000
@@ -70,6 +70,13 @@
fe_key = ('f-id', 'e-id')
ff_key = ('f-id', 'f-id')
+ def make_no_graph_texts(self):
+ factory = knit.make_pack_factory(False, False, 2)
+ self.vf = factory(self.get_transport())
+ self.ann = self.module.Annotator(self.vf)
+ self.vf.add_lines(self.fa_key, (), ['simple\n', 'content\n'])
+ self.vf.add_lines(self.fb_key, (), ['simple\n', 'new content\n'])
+
def make_simple_text(self):
# TODO: all we really need is a VersionedFile instance, we'd like to
# avoid creating all the intermediate stuff
@@ -352,6 +359,15 @@
spec_text)
self.assertAnnotateEqual([(self.fa_key,),
(self.fb_key, self.fc_key, self.fe_key),
- (spec_key,)
+ (spec_key,),
], spec_key,
exp_text=spec_text)
+
+ def test_no_graph(self):
+ self.make_no_graph_texts()
+ self.assertAnnotateEqual([(self.fa_key,),
+ (self.fa_key,),
+ ], self.fa_key)
+ self.assertAnnotateEqual([(self.fb_key,),
+ (self.fb_key,),
+ ], self.fb_key)
More information about the bazaar-commits
mailing list