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