Rev 2196: Split up import_text_parents. in file:///data/jelmer/bzr-svn/mappings/
Jelmer Vernooij
jelmer at samba.org
Sat Dec 6 20:39:07 GMT 2008
At file:///data/jelmer/bzr-svn/mappings/
------------------------------------------------------------
revno: 2196
revision-id: jelmer at samba.org-20081206203905-lngnyztbn5k2256o
parent: jelmer at samba.org-20081206202909-4ke5tdsganlwd4rr
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: mappings
timestamp: Sat 2008-12-06 21:39:05 +0100
message:
Split up import_text_parents.
modified:
mapping.py mapping.py-20080128201303-6cp01phc0dmc0kiv-1
mapping2.py mapping.py-20080904055555-lw057kjuadn0r2ma-2
mapping4.py mapping4.py-20080827182338-y4xzpsf43vyiwcir-1
revmeta.py revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
tests/mapping_implementations/test_base.py test_base.py-20080904055908-3t0g1y0qnmr6aeiq-1
=== modified file 'mapping.py'
--- a/mapping.py 2008-12-06 20:29:09 +0000
+++ b/mapping.py 2008-12-06 20:39:05 +0000
@@ -423,13 +423,19 @@
"""
raise NotImplementedError(self.export_fileid_map)
- def import_text_parents(self, revprops, fileprops):
+ def import_text_parents_revprops(self, revprops):
"""Obtain a text parent map from properties.
:param revprops: Subversion revision properties.
+ """
+ raise NotImplementedError(self.import_text_parents_revprops)
+
+ def import_text_parents_fileprops(self, fileprops):
+ """Obtain a text parent map from properties.
+
:param fileprops: File properties.
"""
- raise NotImplementedError(self.import_text_parents)
+ raise NotImplementedError(self.import_text_parents_fileprops)
def export_text_parents(self, text_parents, revprops, fileprops):
"""Store a text parent map.
@@ -540,12 +546,15 @@
if metadata is not None:
parse_revision_metadata(metadata[1], rev)
- def import_text_parents(self, svn_revprops, fileprops):
+ def import_text_parents_fileprops(self, fileprops):
metadata = fileprops.get(SVN_PROP_BZR_TEXT_PARENTS)
if metadata is None:
return {}
return parse_text_parents_property(metadata[1])
+ def import_text_parents_revprops(self, svn_revprops):
+ return {}
+
def import_text_revisions(self, svn_revprops, fileprops):
metadata = fileprops.get(SVN_PROP_BZR_TEXT_REVISIONS)
if metadata is None:
@@ -661,7 +670,10 @@
return {}
return parse_fileid_property(svn_revprops[SVN_REVPROP_BZR_FILEIDS])
- def import_text_parents(self, svn_revprops, fileprops):
+ def import_text_parents_fileprops(self, fileprops):
+ return {}
+
+ def import_text_parents_revprops(self, svn_revprops):
if not svn_revprops.has_key(SVN_REVPROP_BZR_TEXT_PARENTS):
return {}
return parse_text_parents_property(svn_revprops[SVN_REVPROP_BZR_TEXT_PARENTS])
=== modified file 'mapping2.py'
--- a/mapping2.py 2008-12-05 14:18:09 +0000
+++ b/mapping2.py 2008-12-06 20:39:05 +0000
@@ -82,10 +82,16 @@
return ROOT_ID
return "%s-%s" % (self.revision_id_foreign_to_bzr((uuid, branch, revnum)), escape_svn_path(inv_path.encode("utf-8")))
- def import_fileid_map(self, revprops, fileprops):
- return {}
-
- def import_text_parents(self, revprops, fileprops):
+ def import_fileid_map_revprops(self, revprops):
+ return {}
+
+ def import_fileid_map_fileprops(self, fileprops):
+ return {}
+
+ def import_text_parents_fileprops(self, fileprops):
+ return {}
+
+ def import_text_parents_revprops(self, revprops):
return {}
def import_text_revisions(self, svn_revprops, fileprops):
=== modified file 'mapping4.py'
--- a/mapping4.py 2008-12-06 20:29:09 +0000
+++ b/mapping4.py 2008-12-06 20:39:05 +0000
@@ -107,11 +107,11 @@
else:
return self.fileprops.get_revision_id(branch_path, revprops, fileprops)
- def import_text_parents(self, svn_revprops, fileprops):
- if svn_revprops.has_key(mapping.SVN_REVPROP_BZR_TEXT_PARENTS):
- return self.revprops.import_text_parents(svn_revprops, fileprops)
- else:
- return self.fileprops.import_text_parents(svn_revprops, fileprops)
+ def import_text_parents_fileprops(self, fileprops):
+ return self.fileprops.import_text_parents_fileprops(fileprops)
+
+ def import_text_parents_revprops(self, svn_revprops):
+ return self.revprops.import_text_parents_revprops(svn_revprops)
def import_text_revisions(self, svn_revprops, fileprops):
if svn_revprops.has_key(mapping.SVN_REVPROP_BZR_TEXT_REVISIONS):
=== modified file 'revmeta.py'
--- a/revmeta.py 2008-12-06 20:29:09 +0000
+++ b/revmeta.py 2008-12-06 20:39:05 +0000
@@ -559,12 +559,17 @@
return rev
+ def _import_from_props(self, fileprop_fn, revprop_fn):
+ # FIXME: Magic happens here
+ ret = fileprop_fn(self.get_changed_fileprops())
+ if ret != {}:
+ return ret
+ return revprop_fn(self.get_revprops())
+
def get_fileid_map(self, mapping):
"""Find the file id override map for this revision."""
- ret = mapping.import_fileid_map_revprops(self.get_revprops())
- if ret != {}:
- return ret
- return mapping.import_fileid_map_fileprops(self.get_changed_fileprops())
+ return self._import_from_props(mapping.import_fileid_map_fileprops,
+ mapping.import_fileid_map_revprops)
def get_text_revisions(self, mapping):
"""Return text revision override map for this revision."""
@@ -573,8 +578,8 @@
def get_text_parents(self, mapping):
"""Return text revision override map for this revision."""
- return mapping.import_text_parents(self.get_revprops(),
- self.get_changed_fileprops())
+ return self._import_from_props(mapping.import_text_parents_fileprops,
+ mapping.import_text_parents_revprops)
def consider_bzr_fileprops(self):
"""See if any bzr file properties should be checked at all.
=== modified file 'tests/mapping_implementations/test_base.py'
--- a/tests/mapping_implementations/test_base.py 2008-12-06 20:29:09 +0000
+++ b/tests/mapping_implementations/test_base.py 2008-12-06 20:39:05 +0000
@@ -60,8 +60,12 @@
fileprops = {}
text_parents = {"bla": ["bloe"], "ll": ["12", "bli"]}
self.mapping.export_text_parents(text_parents, revprops, fileprops)
- self.assertEquals(text_parents,
- self.mapping.import_text_parents(revprops, changed_props(fileprops)))
+ if self.mapping.can_use_revprops:
+ self.assertEquals(text_parents,
+ self.mapping.import_text_parents_revprops(revprops))
+ if self.mapping.can_use_fileprops:
+ self.assertEquals(text_parents,
+ self.mapping.import_text_parents_fileprops(changed_props(fileprops)))
def test_text_revisions(self):
if not self.mapping.roundtripping:
More information about the bazaar-commits
mailing list