Rev 2201: Split up get_revision_id. in file:///data/jelmer/bzr-svn/mappings/

Jelmer Vernooij jelmer at samba.org
Sat Dec 6 21:23:50 GMT 2008


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

------------------------------------------------------------
revno: 2201
revision-id: jelmer at samba.org-20081206212348-sdnj0toepf7sfar2
parent: jelmer at samba.org-20081206211345-3tm71omy76yg6uj7
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: mappings
timestamp: Sat 2008-12-06 22:23:48 +0100
message:
  Split up get_revision_id.
modified:
  mapping.py                     mapping.py-20080128201303-6cp01phc0dmc0kiv-1
  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 21:13:45 +0000
+++ b/mapping.py	2008-12-06 21:23:48 +0000
@@ -487,8 +487,11 @@
     def export_message(self, log, revprops, fileprops):
         raise NotImplementedError(self.export_message)
 
-    def get_revision_id(self, branch_path, revprops, fileprops):
-        raise NotImplementedError(self.get_revision_id)
+    def get_revision_id_revprops(self, revprops):
+        raise NotImplementedError(self.get_revision_id_revprops)
+
+    def get_revision_id_fileprops(self, fileprops):
+        raise NotImplementedError(self.get_revision_id_fileprops)
 
     def supports_tags(self):
         raise NotImplementedError(self.supports_tags)
@@ -655,7 +658,10 @@
     def export_message(self, message, revprops, fileprops):
         fileprops[SVN_PROP_BZR_LOG] = message.encode("utf-8")
 
-    def get_revision_id(self, branch_path, revprops, fileprops):
+    def get_revision_id_revprops(self, revprops):
+        return (None, None)
+
+    def get_revision_id_fileprops(self, fileprops):
         # Lookup the revision from the bzr:revision-id-vX property
         text = fileprops.get(SVN_PROP_BZR_REVISION_ID+self.name, None)
         if text is None:
@@ -735,10 +741,12 @@
     def get_branch_root(self, revprops):
         return revprops.get(SVN_REVPROP_BZR_ROOT)
 
-    def get_revision_id(self, branch_path, revprops, fileprops):
-        if not is_bzr_revision_revprops(revprops) or not SVN_REVPROP_BZR_REVISION_ID in revprops:
-            return (None, None)
-        if self.get_branch_root(revprops) != branch_path:
+    def get_revision_id_fileprops(self, fileprops):
+        return (None, None)
+
+    def get_revision_id_revprops(self, revprops):
+        if (not is_bzr_revision_revprops(revprops) or 
+            not SVN_REVPROP_BZR_REVISION_ID in revprops):
             return (None, None)
         revid = revprops[SVN_REVPROP_BZR_REVISION_ID]
         revno = int(revprops[SVN_REVPROP_BZR_REVNO])

=== modified file 'mapping4.py'
--- a/mapping4.py	2008-12-06 21:10:19 +0000
+++ b/mapping4.py	2008-12-06 21:23:48 +0000
@@ -104,11 +104,11 @@
     def get_rhs_parents_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):
-            return self.revprops.get_revision_id(branch_path, revprops, fileprops)
-        else:
-            return self.fileprops.get_revision_id(branch_path, revprops, fileprops)
+    def get_revision_id_fileprops(self, revprops):
+        return self.revprops.get_revision_id_revprops(revprops)
+
+    def get_revision_id_fileprops(self, fileprops):
+        return self.fileprops.get_revision_id_fileprops(fileprops)
 
     def import_text_parents_fileprops(self, fileprops):
         return self.fileprops.import_text_parents_fileprops(fileprops)

=== modified file 'revmeta.py'
--- a/revmeta.py	2008-12-06 21:10:19 +0000
+++ b/revmeta.py	2008-12-06 21:23:48 +0000
@@ -160,8 +160,10 @@
         """
         if mapping.roundtripping:
             # See if there is a bzr:revision-id revprop set
-            (_, revid) = mapping.get_revision_id(self.branch_path, 
-                self.get_revprops(), self.get_changed_fileprops())
+            (_, revid) = self._import_from_props(mapping, 
+                    mapping.get_revision_id_fileprops,
+                    mapping.get_revision_id_revprops,
+                    (None, None))
         else:
             revid = None
 
@@ -486,8 +488,10 @@
         side NULL_REVISION, if known.
         """
         if mapping.roundtripping:
-            (bzr_revno, _) = mapping.get_revision_id(self.branch_path, 
-                self.get_revprops(), self.get_changed_fileprops())
+            (bzr_revno, _) = self._import_from_props(mapping, 
+                    mapping.get_revision_id_fileprops,
+                    mapping.get_revision_id_revprops,
+                    (None, None))
             if bzr_revno is not None:
                 return bzr_revno
         return None

=== modified file 'tests/mapping_implementations/test_base.py'
--- a/tests/mapping_implementations/test_base.py	2008-12-06 21:04:26 +0000
+++ b/tests/mapping_implementations/test_base.py	2008-12-06 21:23:48 +0000
@@ -118,12 +118,18 @@
         revprops = {}
         fileprops = {}
         self.mapping.export_revision("branchp", 432432432.0, 0, "somebody", {}, "arevid", 4, ["parent", "merge1"], revprops, fileprops)
-        self.assertEquals((4, "arevid"), self.mapping.get_revision_id("branchp", revprops, changed_props(fileprops)))
+        if self.mapping.can_use_revprops:
+            self.assertEquals((4, "arevid"), self.mapping.get_revision_id_revprops(revprops))
+        if self.mapping.can_use_fileprops:
+            self.assertEquals((4, "arevid"), self.mapping.get_revision_id_fileprops(changed_props(fileprops)))
     
     def test_revision_id_none(self):
         if not self.mapping.roundtripping:
             raise TestNotApplicable
-        self.assertEquals((None, None), self.mapping.get_revision_id("bp", {}, dict()))
+        if self.mapping.can_use_fileprops:
+            self.assertEquals((None, None), self.mapping.get_revision_id_fileprops({}))
+        if self.mapping.can_use_revprops:
+            self.assertEquals((None, None), self.mapping.get_revision_id_revprops({}))
 
     def test_parse_revision_id_unknown(self):
         self.assertRaises(InvalidRevisionId, 




More information about the bazaar-commits mailing list