Rev 2198: Split up get_rhs_parents(). in file:///data/jelmer/bzr-svn/mappings/
Jelmer Vernooij
jelmer at samba.org
Sat Dec 6 21:04:28 GMT 2008
At file:///data/jelmer/bzr-svn/mappings/
------------------------------------------------------------
revno: 2198
revision-id: jelmer at samba.org-20081206210426-4sq69e9f6578hiov
parent: jelmer at samba.org-20081206204753-v205trl203xqzk69
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: mappings
timestamp: Sat 2008-12-06 22:04:26 +0100
message:
Split up get_rhs_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:47:53 +0000
+++ b/mapping.py 2008-12-06 21:04:26 +0000
@@ -390,11 +390,17 @@
"""
return None
- def get_rhs_parents(self, branch_path, revprops, fileprops):
- """Obtain the right-hand side parents for a revision.
-
- """
- raise NotImplementedError(self.get_rhs_parents)
+ def get_rhs_parents_fileprops(self, fileprops):
+ """Obtain the right-hand side parents for a revision.
+
+ """
+ raise NotImplementedError(self.get_rhs_parents_fileprops)
+
+ def get_rhs_parents_revprops(self, revprops):
+ """Obtain the right-hand side parents for a revision.
+
+ """
+ raise NotImplementedError(self.get_rhs_parents_revprops)
def get_rhs_ancestors(self, branch_path, revprops, fileprops):
"""Obtain the right-hand side ancestors for a revision.
@@ -579,7 +585,7 @@
elif SVN_PROP_BZR_TEXT_REVISIONS in fileprops:
fileprops[SVN_PROP_BZR_TEXT_REVISIONS] = ""
- def get_rhs_parents(self, branch_path, revprops, fileprops):
+ def get_rhs_parents_fileprops(self, fileprops):
bzr_merges = fileprops.get(SVN_PROP_BZR_ANCESTRY+self.name, None)
if bzr_merges is not None:
try:
@@ -594,6 +600,9 @@
return ()
+ def get_rhs_parents_revprops(self, revprops):
+ return ()
+
def get_rhs_ancestors(self, branch_path, revprops, fileprops):
ancestry = []
for l in fileprops.get(SVN_PROP_BZR_ANCESTRY+self.name, (None, ""))[1].splitlines():
@@ -705,11 +714,12 @@
return None
return svn_revprops.get(SVN_REVPROP_BZR_BASE_REVISION)
- def get_rhs_parents(self, branch_path, svn_revprops, fileprops):
- if self.get_branch_root(svn_revprops) != branch_path:
- return ()
+ def get_rhs_parents_revprops(self, svn_revprops):
return tuple(svn_revprops.get(SVN_REVPROP_BZR_MERGE, "").splitlines())
+ def get_rhs_parents_fileprops(self, fileprops):
+ return ()
+
def get_branch_root(self, revprops):
return revprops.get(SVN_REVPROP_BZR_ROOT)
=== modified file 'mapping2.py'
--- a/mapping2.py 2008-12-06 20:47:53 +0000
+++ b/mapping2.py 2008-12-06 21:04:26 +0000
@@ -100,7 +100,10 @@
def import_text_revisions_fileprops(self, fileprops):
return {}
- def get_rhs_parents(self, branch_path, revprops, fileprops):
+ def get_rhs_parents_revprops(self, revprops):
+ return ()
+
+ def get_rhs_parent_fileprops(self, fileprops):
value = fileprops.get(SVN_PROP_BZR_MERGE, "")
if value == "":
return ()
=== modified file 'mapping4.py'
--- a/mapping4.py 2008-12-06 20:47:53 +0000
+++ b/mapping4.py 2008-12-06 21:04:26 +0000
@@ -95,11 +95,11 @@
def get_lhs_parent(self, branch_path, svn_revprops, fileprops):
return self.revprops.get_lhs_parent(branch_path, svn_revprops, fileprops)
- def get_rhs_parents(self, branch_path, svn_revprops, fileprops):
- if svn_revprops.has_key(mapping.SVN_REVPROP_BZR_MAPPING_VERSION):
- return self.revprops.get_rhs_parents(branch_path, svn_revprops, fileprops)
- else:
- return self.fileprops.get_rhs_parents(branch_path, svn_revprops, fileprops)
+ def get_rhs_parents_revprops(self, svn_revprops):
+ return self.revprops.get_rhs_parents_revprops(svn_revprops)
+
+ def get_rhs_parent_fileprops(self, fileprops):
+ return self.fileprops.get_rhs_parents_fileprops(fileprops)
def get_revision_id(self, branch_path, revprops, fileprops):
if revprops.has_key(mapping.SVN_REVPROP_BZR_MAPPING_VERSION):
@@ -114,10 +114,10 @@
return self.revprops.import_text_parents_revprops(svn_revprops)
def import_text_revisions_revprops(self, svn_revprops):
- return self.revprops.import_text_revisions(svn_revprops)
+ return self.revprops.import_text_revisions_revprops(svn_revprops)
def import_text_revisions_fileprops(self, fileprops):
- return self.fileprops.import_text_revisions(fileprops)
+ return self.fileprops.import_text_revisions_fileprops(fileprops)
def import_fileid_map_fileprops(self, fileprops):
return self.fileprops.import_fileid_map_fileprops(fileprops)
=== modified file 'revmeta.py'
--- a/revmeta.py 2008-12-06 20:47:53 +0000
+++ b/revmeta.py 2008-12-06 21:04:26 +0000
@@ -451,8 +451,9 @@
def get_bzr_merges(self, mapping):
"""Check what Bazaar revisions were merged in this revision."""
- return mapping.get_rhs_parents(self.branch_path, self.get_revprops(),
- self.get_changed_fileprops())
+ return self._import_from_props(mapping,
+ mapping.get_rhs_parents_fileprops,
+ mapping.get_rhs_parent_revprops, ())
def get_svk_merges(self, mapping):
"""Check what SVK revisions were merged in this revision."""
@@ -559,27 +560,32 @@
return rev
- def _import_from_props(self, fileprop_fn, revprop_fn):
+ def _import_from_props(self, mapping, fileprop_fn, revprop_fn, default):
# FIXME: Magic happens here
ret = fileprop_fn(self.get_changed_fileprops())
- if ret != {}:
+ if ret == default:
return ret
- return revprop_fn(self.get_revprops())
+ if mapping.get_branch_root(self.get_revprops()) == self.branch_path:
+ return revprop_fn(self.get_revprops())
+ return default
def get_fileid_map(self, mapping):
"""Find the file id override map for this revision."""
- return self._import_from_props(mapping.import_fileid_map_fileprops,
- mapping.import_fileid_map_revprops)
+ return self._import_from_props(mapping,
+ mapping.import_fileid_map_fileprops,
+ mapping.import_fileid_map_revprops, {})
def get_text_revisions(self, mapping):
"""Return text revision override map for this revision."""
- return self._import_from_props(mapping.import_text_revisions_fileprops,
- mapping.import_text_revisions_revprops)
+ return self._import_from_props(mapping,
+ mapping.import_text_revisions_fileprops,
+ mapping.import_text_revisions_revprops, {})
def get_text_parents(self, mapping):
"""Return text revision override map for this revision."""
- return self._import_from_props(mapping.import_text_parents_fileprops,
- mapping.import_text_parents_revprops)
+ return self._import_from_props(mapping,
+ 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:47:53 +0000
+++ b/tests/mapping_implementations/test_base.py 2008-12-06 21:04:26 +0000
@@ -63,7 +63,7 @@
if self.mapping.can_use_revprops:
self.assertEquals(text_parents,
self.mapping.import_text_parents_revprops(revprops))
- if self.mapping.can_use_fileprops:
+ if self.mapping.can_use_fileprops:
self.assertEquals(text_parents,
self.mapping.import_text_parents_fileprops(changed_props(fileprops)))
More information about the bazaar-commits
mailing list