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