Rev 1384: Implement FakeVersionedFiles.get_parent_map. in file:///data/jelmer/bzr-svn/stackable/

Jelmer Vernooij jelmer at samba.org
Fri Jun 27 22:13:28 BST 2008


At file:///data/jelmer/bzr-svn/stackable/

------------------------------------------------------------
revno: 1384
revision-id: jelmer at samba.org-20080627211327-60tdygznt0nz17cz
parent: jelmer at samba.org-20080627191110-j0t5mtvnlbokmzo0
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: stackable
timestamp: Fri 2008-06-27 23:13:27 +0200
message:
  Implement FakeVersionedFiles.get_parent_map.
modified:
  repository.py                  repository.py-20060306123302-1f8c5069b3fe0265
  tests/test_versionedfiles.py   test_versionedfiles.-20080626153242-v0c6uolklpux67a1-1
  versionedfiles.py              versionedfiles.py-20080626134117-j8g0ntz1pj228iox-1
=== modified file 'repository.py'
--- a/repository.py	2008-06-26 22:58:21 +0000
+++ b/repository.py	2008-06-27 21:13:27 +0000
@@ -49,7 +49,7 @@
                  parse_svk_feature)
 from bzrlib.plugins.svn.tree import SvnRevisionTree
 from bzrlib.plugins.svn.versionedfiles import (SvnTexts, FakeRevisionTexts, 
-                                               FakeInventoryTexts)
+                                               FakeInventoryTexts, FakeSignatureTexts)
 import urllib
 
 def full_paths(find_children, paths, bp, from_bp, from_rev):
@@ -162,8 +162,9 @@
         Repository.__init__(self, SvnRepositoryFormat(), bzrdir, control_files)
 
         self.texts = SvnTexts()
-        self.revisions = FakeRevisionTexts()
-        self.inventories = FakeInventoryTexts()
+        self.revisions = FakeRevisionTexts(self.get_parent_map)
+        self.inventories = FakeInventoryTexts(self.get_parent_map)
+        self.signatures = FakeSignatureTexts(self.get_parent_map)
         self._cached_revnum = None
         self._lock_mode = None
         self._lock_count = 0

=== modified file 'tests/test_versionedfiles.py'
--- a/tests/test_versionedfiles.py	2008-06-26 16:37:27 +0000
+++ b/tests/test_versionedfiles.py	2008-06-27 21:13:27 +0000
@@ -13,10 +13,11 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+from bzrlib.graph import DictParentsProvider
 from bzrlib.tests import TestCase
 
 from bzrlib.plugins.svn.versionedfiles import (SvnTexts, FakeRevisionTexts, 
-                                               FakeInventoryTexts)
+                                               FakeInventoryTexts, FakeSignatureTexts)
 
 
 class BasicSvnTextsTests:
@@ -41,12 +42,26 @@
         self.texts = SvnTexts()
 
 
-class FakeRevisionTextsTests(TestCase,BasicSvnTextsTests):
-    def setUp(self):
-        self.texts = FakeRevisionTexts()
-
-
-class FakeInventoryTextsTests(TestCase,BasicSvnTextsTests):
-    def setUp(self):
-        self.texts = FakeInventoryTexts()
+class FakeTextsTests(BasicSvnTextsTests):
+    def get_parent_map(self, keys):
+        return DictParentsProvider(self.parent_map).get_parent_map(keys)
+
+    def test_get_parent_map(self):
+        self.parent_map = {"G": ("A", "B")}
+        self.assertEquals({("G",): (("A",),("B",))}, self.texts.get_parent_map([("G",)]))
+
+
+class FakeRevisionTextsTests(TestCase,FakeTextsTests):
+    def setUp(self):
+        self.texts = FakeRevisionTexts(self.get_parent_map)
+
+
+class FakeInventoryTextsTests(TestCase,FakeTextsTests):
+    def setUp(self):
+        self.texts = FakeInventoryTexts(self.get_parent_map)
+
+
+class FakeSignatureTextsTests(TestCase,FakeTextsTests):
+    def setUp(self):
+        self.texts = FakeSignatureTexts(self.get_parent_map)
 

=== modified file 'versionedfiles.py'
--- a/versionedfiles.py	2008-06-26 16:37:27 +0000
+++ b/versionedfiles.py	2008-06-27 21:13:27 +0000
@@ -25,22 +25,34 @@
     # iter_lines_added_or_present_in_keys, keys
 
 
-class FakeRevisionTexts(VersionedFiles):
+class FakeVersionedFiles(VersionedFiles):
+    def __init__(self, get_parent_map):
+        self._get_parent_map = get_parent_map
+        
+    def check(self, progressbar=None):
+        return True
+
+    def get_parent_map(self, keys):
+        return dict([((k,), tuple([(p,) for p in v])) for k,v in self._get_parent_map([k for (k,) in keys]).iteritems()])
+
+
+class FakeRevisionTexts(FakeVersionedFiles):
     """Fake revisions backend."""
 
-    def check(self, progressbar=None):
-        return True
-
-    # TODO: annotate, get_parent_map, get_record_stream, get_sha1s, 
+    # TODO: annotate, get_record_stream, get_sha1s, 
     # iter_lines_added_or_present_in_keys, keys
 
 
-class FakeInventoryTexts(VersionedFiles):
+class FakeInventoryTexts(FakeVersionedFiles):
     """Fake inventories backend."""
 
-    def check(self, progressbar=None):
-        return True
-
-    # TODO: annotate, get_parent_map, get_record_stream, get_sha1s, 
+    # TODO: annotate, get_record_stream, get_sha1s, 
+    # iter_lines_added_or_present_in_keys, keys
+
+
+class FakeSignatureTexts(FakeVersionedFiles):
+    """Fake signatures backend."""
+
+    # TODO: annotate, get_record_stream, get_sha1s, 
     # iter_lines_added_or_present_in_keys, keys
 




More information about the bazaar-commits mailing list