Rev 3378: KnitVersionedFiles.add_fallback_versioned_files exists. in http://people.ubuntu.com/~robertc/baz2.0/shallow-branch

Robert Collins robertc at robertcollins.net
Thu Jun 19 05:54:00 BST 2008


At http://people.ubuntu.com/~robertc/baz2.0/shallow-branch

------------------------------------------------------------
revno: 3378
revision-id: robertc at robertcollins.net-20080619045351-wjknb9el37ravhjj
parent: robertc at robertcollins.net-20080612032525-hp52uf3wa7546c4u
committer: Robert Collins <robertc at robertcollins.net>
branch nick: stacking-knits
timestamp: Thu 2008-06-19 14:53:51 +1000
message:
  KnitVersionedFiles.add_fallback_versioned_files exists.
modified:
  bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
  bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
=== modified file 'bzrlib/knit.py'
--- a/bzrlib/knit.py	2008-06-11 07:22:00 +0000
+++ b/bzrlib/knit.py	2008-06-19 04:53:51 +0000
@@ -725,6 +725,14 @@
             self._factory = KnitAnnotateFactory()
         else:
             self._factory = KnitPlainFactory()
+        self._fallback_vfs = []
+
+    def add_fallback_versioned_files(self, a_versioned_files):
+        """Add a source of texts for texts not present in this knit.
+
+        :param a_versioned_files: A VersionedFiles object.
+        """
+        self._fallback_vfs.append(a_versioned_files)
 
     def add_lines(self, key, parents, lines, parent_texts=None,
         left_matching_blocks=None, nostore_sha=None, random_id=False,

=== modified file 'bzrlib/tests/test_knit.py'
--- a/bzrlib/tests/test_knit.py	2008-06-11 04:20:16 +0000
+++ b/bzrlib/tests/test_knit.py	2008-06-19 04:53:51 +0000
@@ -1371,3 +1371,55 @@
             [(('tip',), 'fulltext,no-eol', (None, 0, 100), []),
              (('tip',), 'no-eol,line-delta', (None, 0, 100), [])])
         self.assertEqual([], self.caught_entries)
+
+
+class TestStacking(KnitTests):
+
+    def get_basis_and_test_knit(self):
+        basis = self.make_test_knit(name='basis')
+        test = self.make_test_knit(name='test')
+        test.add_fallback_versioned_files(basis)
+        return basis, test
+
+    def test_add_fallback_versioned_files(self):
+        basis = self.make_test_knit(name='basis')
+        test = self.make_test_knit(name='test')
+        # It must not error; other tests test that the fallback is referred to
+        # when accessing data.
+        test.add_fallback_versioned_files(basis)
+
+    def test_add_lines(self):
+        pass
+
+    def test_annotate(self):
+        pass
+
+    def test_check(self):
+        # check() must not check the fallback files, its none of its business.
+        basis, test = self.get_basis_and_test_knit()
+        basis.check = None
+        test.check()
+
+    def test_get_parent_map(self):
+        pass
+
+    def test_get_record_stream(self):
+        pass
+
+    def test_get_sha1s(self):
+        pass
+
+    def test_insert_record_stream(self):
+        pass
+
+    def test_iter_lines_added_or_present_in_keys(self):
+        pass
+
+    def test_keys(self):
+        pass
+
+    def test_add_mpdiffs(self):
+        pass
+
+    def test_make_mpdiffs(self):
+        pass




More information about the bazaar-commits mailing list