Rev 2211: Remove unused argument to import_revision. in file:///data/jelmer/bzr-svn/mappings/

Jelmer Vernooij jelmer at samba.org
Sun Dec 7 01:23:13 GMT 2008


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

------------------------------------------------------------
revno: 2211
revision-id: jelmer at samba.org-20081207012310-rczcon6voppjl923
parent: jelmer at samba.org-20081207005859-1ekwkp5du0ohv7rk
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: mappings
timestamp: Sun 2008-12-07 02:23:10 +0100
message:
  Remove unused argument to import_revision.
modified:
  commit.py                      commit.py-20060607190346-qvq128wgfubhhgm2-1
  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 'commit.py'
--- a/commit.py	2008-12-07 00:58:59 +0000
+++ b/commit.py	2008-12-07 01:23:10 +0000
@@ -395,21 +395,26 @@
             self.repository.seen_bzr_revprops()):
             raise BzrError("Please upgrade your Subversion client libraries to 1.5 or higher to be able to commit with Subversion mapping %s" % self.mapping.name)
 
-        if self.supports_custom_revprops == True:
-            self._svn_revprops = {}
+        self._svn_revprops = {}
+        if self.supports_custom_revprops and self.mapping.can_use_revprops:
+            self.set_custom_revprops = True
+            self.set_custom_fileprops = self.mapping.must_use_fileprops
             # If possible, submit signature directly
             if opt_signature is not None:
                 self._svn_revprops[mapping.SVN_REVPROP_BZR_SIGNATURE] = opt_signature
         else:
-            self._svn_revprops = None
+            self.set_custom_fileprops = True
+            self.set_custom_revprops = False
         self._svnprops = lazy_dict({}, lambda: dict(self._base_branch_props.iteritems()))
         revno = self.base_revno + 1
-        self.mapping.export_revision_fileprops(
-            timestamp, timezone, committer, revprops, 
-            revision_id, revno, parents, self._svnprops)
-        self.mapping.export_revision_revprops(
-            self.branch_path, timestamp, timezone, committer, revprops, 
-            revision_id, revno, parents, self._svn_revprops)
+        if self.set_custom_fileprops:
+            self.mapping.export_revision_fileprops(
+                timestamp, timezone, committer, revprops, 
+                revision_id, revno, parents, self._svnprops)
+        if self.set_custom_revprops:
+            self.mapping.export_revision_revprops(
+                self.branch_path, timestamp, timezone, committer, revprops, 
+                revision_id, revno, parents, self._svn_revprops)
 
         if len(merges) > 0:
             old_svk_merges = self._base_branch_props.get(SVN_PROP_SVK_MERGE, "")
@@ -543,19 +548,20 @@
 
         if self.push_metadata:
             (fileids, text_revisions, text_parents) = self._determine_texts_identity()
-
-            self.mapping.export_text_revisions_revprops(text_revisions, self._svn_revprops)
-            self.mapping.export_text_revisions_fileprops(text_revisions, self._svnprops)
-            self.mapping.export_text_parents_revprops(text_parents, self._svn_revprops)
-            self.mapping.export_text_parents_fileprops(text_parents, self._svnprops)
-            self.mapping.export_fileid_map_revprops(fileids, self._svn_revprops)
-            self.mapping.export_fileid_map_fileprops(fileids, self._svnprops)
+            if self.set_custom_revprops:
+                self.mapping.export_text_revisions_revprops(text_revisions, self._svn_revprops)
+                self.mapping.export_text_parents_revprops(text_parents, self._svn_revprops)
+                self.mapping.export_fileid_map_revprops(fileids, self._svn_revprops)
+            if self.set_custom_fileprops:
+                self.mapping.export_text_revisions_fileprops(text_revisions, self._svnprops)
+                self.mapping.export_text_parents_fileprops(text_parents, self._svnprops)
+                self.mapping.export_fileid_map_fileprops(fileids, self._svnprops)
             if self._config.get_log_strip_trailing_newline():
-                self.mapping.export_message_revprops(message, self._svn_revprops)
-                self.mapping.export_message_fileprops(message, self._svnprops)
+                if self.set_custom_revprops:
+                    self.mapping.export_message_revprops(message, self._svn_revprops)
+                if self.set_custom_fileprops:
+                    self.mapping.export_message_fileprops(message, self._svnprops)
                 message = message.rstrip("\n")
-        if not self.supports_custom_revprops:
-            self._svn_revprops = {}
         self._svn_revprops[properties.PROP_REVISION_LOG] = message.encode("utf-8")
 
         try:

=== modified file 'mapping.py'
--- a/mapping.py	2008-12-07 00:58:59 +0000
+++ b/mapping.py	2008-12-07 01:23:10 +0000
@@ -370,23 +370,21 @@
         """
         raise NotImplementedError
 
-    def import_revision_revprops(self, revprops, foreign_revid, rev):
+    def import_revision_revprops(self, revprops, rev):
         """Update a Revision object from Subversion revision and branch 
         properties.
 
         :param revprops: Dictionary with Subversion revision properties.
-        :param revnum: Revision number in Subversion.
         :param rev: Revision object to import data into.
         """
         raise NotImplementedError(self.import_revision_revprops)
 
-    def import_revision_fileprops(self, fileprops, foreign_revid, rev):
+    def import_revision_fileprops(self, fileprops, rev):
         """Update a Revision object from Subversion revision and branch 
         properties.
 
         :param fileprops: Dictionary with Subversion file properties on the 
                           branch root.
-        :param revnum: Revision number in Subversion.
         :param rev: Revision object to import data into.
         """
         raise NotImplementedError(self.import_revision_fileprops)
@@ -605,15 +603,15 @@
     def __init__(self, name):
         self.name = name
 
-    def import_revision_fileprops(self, fileprops, foreign_revid, rev):
+    def import_revision_fileprops(self, fileprops, rev):
         if SVN_PROP_BZR_LOG in fileprops:
             rev.message = fileprops[SVN_PROP_BZR_LOG][1]
         metadata = fileprops.get(SVN_PROP_BZR_REVISION_INFO)
         if metadata is not None:
             parse_revision_metadata(metadata[1], rev)
 
-    def import_revision_revprops(self, svn_revprops, foreign_revid, rev):
-        parse_svn_revprops(svn_revprops, rev)
+    def import_revision_revprops(self, svn_revprops, rev):
+        pass
 
     def import_text_parents_fileprops(self, fileprops):
         metadata = fileprops.get(SVN_PROP_BZR_TEXT_PARENTS)
@@ -748,11 +746,10 @@
 
 class BzrSvnMappingRevProps(object):
 
-    def import_revision_revprops(self, svn_revprops, foreign_revid, rev):
-        parse_svn_revprops(svn_revprops, rev)
+    def import_revision_revprops(self, svn_revprops, rev):
         parse_bzr_svn_revprops(svn_revprops, rev)
 
-    def import_revision_fileprops(self, fileprops, foreign_revid, rev):
+    def import_revision_fileprops(self, fileprops, rev):
         pass
 
     def import_fileid_map_revprops(self, svn_revprops):

=== modified file 'mapping2.py'
--- a/mapping2.py	2008-12-06 22:16:14 +0000
+++ b/mapping2.py	2008-12-07 01:23:10 +0000
@@ -23,7 +23,6 @@
         BzrSvnMapping,
         escape_svn_path,
         unescape_svn_path,
-        parse_svn_revprops,
         )
 
 SVN_PROP_BZR_MERGE = 'bzr:merge'
@@ -39,6 +38,7 @@
     roundtripping = False
     revid_prefix = "svn-v1"
     restricts_branch_paths = True
+    can_use_fileprops= True
 
     def __init__(self, layout):
         super(BzrSvnMappingv1, self).__init__()
@@ -74,10 +74,10 @@
     def is_tag(self, tag_path):
         return False
 
-    def import_revision_revprops(self, svn_revprops, foreign_revid, rev):
-        parse_svn_revprops(svn_revprops, rev)
+    def import_revision_revprops(self, svn_revprops, rev):
+        pass
 
-    def import_revision_fileprops(self, fileprops, foreign_revid, rev):
+    def import_revision_fileprops(self, fileprops, rev):
         pass
 
     def generate_file_id(self, uuid, revnum, branch, inv_path):
@@ -148,6 +148,7 @@
     roundtripping = False
     revid_prefix = "svn-v2"
     restricts_branch_paths = True
+    can_use_fileprops = True
 
     @classmethod
     def revision_id_bzr_to_foreign(cls, revid):

=== modified file 'mapping4.py'
--- a/mapping4.py	2008-12-07 00:58:59 +0000
+++ b/mapping4.py	2008-12-07 01:23:10 +0000
@@ -96,7 +96,7 @@
         return None
 
     def get_lhs_parent_revprops(self, svn_revprops):
-        return self.revprops.get_lhs_parent(svn_revprops)
+        return self.revprops.get_lhs_parent_revprops(svn_revprops)
 
     def get_rhs_parents_revprops(self, svn_revprops):
         return self.revprops.get_rhs_parents_revprops(svn_revprops)
@@ -154,18 +154,18 @@
     def export_text_revisions_fileprops(self, text_revisions, fileprops):
         self.fileprops.export_text_revisions_fileprops(text_revisions, fileprops)
 
-    def import_revision_revprops(self, svn_revprops, foreign_revid, rev):
+    def import_revision_revprops(self, svn_revprops, rev):
         if svn_revprops.has_key(mapping.SVN_REVPROP_BZR_REQUIRED_FEATURES):
             features = mapping.parse_required_features_property(svn_revprops[mapping.SVN_REVPROP_BZR_REQUIRED_FEATURES])
             assert features.issubset(supported_features), "missing feature: %r" % features.difference(supported_features)
         assert svn_revprops.get(mapping.SVN_REVPROP_BZR_MAPPING_VERSION) in (None, self.name), "unknown mapping: %s" % svn_revprops[mapping.SVN_REVPROP_BZR_MAPPING_VERSION]
-        self.revprops.import_revision_revprops(svn_revprops, foreign_revid, rev)
+        self.revprops.import_revision_revprops(svn_revprops, rev)
 
-    def import_revision_fileprops(self, fileprops, foreign_revid, rev):
+    def import_revision_fileprops(self, fileprops, rev):
         if fileprops.has_key(mapping.SVN_PROP_BZR_REQUIRED_FEATURES):
             features = mapping.parse_required_features_property(fileprops[mapping.SVN_PROP_BZR_REQUIRED_FEATURES])
             assert features.issubset(supported_features), "missing feature: %r" % features.difference(supported_features)
-        self.fileprops.import_revision_fileprops(fileprops, foreign_revid, rev)
+        self.fileprops.import_revision_fileprops(fileprops, rev)
 
     def get_mandated_layout(self, repository):
         return None

=== modified file 'revmeta.py'
--- a/revmeta.py	2008-12-06 23:03:08 +0000
+++ b/revmeta.py	2008-12-07 01:23:10 +0000
@@ -41,6 +41,7 @@
         get_roundtrip_ancestor_revids,
         is_bzr_revision_revprops, 
         is_bzr_revision_fileprops, 
+        parse_svn_revprops,
         SVN_REVPROP_BZR_SIGNATURE, 
         )
 from bzrlib.plugins.svn.svk import (
@@ -548,11 +549,10 @@
                               revision_id=self.get_revision_id(mapping), 
                               parent_ids=parent_ids)
 
-        mapping.import_revision_revprops(self.get_revprops(), 
-                                self.get_foreign_revid(), rev)
+        parse_svn_revprops(self.get_revprops(), rev)
+        mapping.import_revision_revprops(self.get_revprops(), rev)
 
-        mapping.import_revision_fileprops(self.get_changed_fileprops(), 
-                                self.get_foreign_revid(), rev)
+        mapping.import_revision_fileprops(self.get_changed_fileprops(), rev)
 
         rev.svn_meta = self
 
@@ -560,11 +560,15 @@
 
     def _import_from_props(self, mapping, fileprop_fn, revprop_fn, default):
         # FIXME: Magic happens here
-        ret = fileprop_fn(self.get_changed_fileprops())
-        if ret == default:
-            return ret
-        if mapping is None or mapping.get_branch_root(self.get_revprops()) == self.branch_path:
-            return revprop_fn(self.get_revprops())
+        if mapping is None or mapping.can_use_fileprops:
+            ret = fileprop_fn(self.get_changed_fileprops())
+            if ret != default:
+                return ret
+        if mapping is not None and mapping.must_use_file_props:
+            return default
+        if mapping is None or mapping.can_use_revprops:
+            if mapping is None or mapping.get_branch_root(self.get_revprops()) == self.branch_path:
+                return revprop_fn(self.get_revprops())
         return default
 
     def get_fileid_map(self, mapping):

=== modified file 'tests/mapping_implementations/test_base.py'
--- a/tests/mapping_implementations/test_base.py	2008-12-07 00:58:59 +0000
+++ b/tests/mapping_implementations/test_base.py	2008-12-07 01:23:10 +0000
@@ -117,7 +117,7 @@
         except NotImplementedError:
             raise TestNotApplicable
         targetrev = Revision(None)
-        self.mapping.import_revision_fileprops(changed_props(fileprops), ("someuuid", "somebp", 4), targetrev)
+        self.mapping.import_revision_fileprops(changed_props(fileprops), targetrev)
         self.assertEquals("My Commit message", targetrev.message)
 
     def test_message_revprops(self):
@@ -134,7 +134,7 @@
         except NotImplementedError:
             raise TestNotApplicable
         targetrev = Revision(None)
-        self.mapping.import_revision_revprops(revprops, ("someuuid", "somebp", 4), targetrev)
+        self.mapping.import_revision_revprops(revprops, targetrev)
         self.assertEquals("My Commit message", targetrev.message)
 
     def test_revision_fileprops(self):
@@ -147,7 +147,7 @@
         self.mapping.export_revision_fileprops(432432432.0, 0, "somebody", 
                                      {"arevprop": "val" }, "arevid", 4, ["parent", "merge1"], fileprops)
         targetrev = Revision(None)
-        self.mapping.import_revision_fileprops(changed_props(fileprops), ("someuuid", "somebp", 4), targetrev)
+        self.mapping.import_revision_fileprops(changed_props(fileprops), targetrev)
         self.assertEquals(targetrev.committer, "somebody")
         self.assertEquals(targetrev.properties, {"arevprop": "val"})
         self.assertEquals(targetrev.timestamp, 432432432.0)
@@ -163,7 +163,7 @@
                                      {"arevprop": "val" }, "arevid", 4, ["parent", "merge1"], revprops)
         targetrev = Revision(None)
         revprops["svn:date"] = "2008-11-03T09:33:00.716938Z"
-        self.mapping.import_revision_revprops(revprops, ("someuuid", "somebp", 4), targetrev)
+        self.mapping.import_revision_revprops(revprops, targetrev)
         self.assertEquals(targetrev.committer, "somebody")
         self.assertEquals(targetrev.properties, {"arevprop": "val"})
         self.assertEquals(targetrev.timestamp, 432432432.0)
@@ -209,7 +209,7 @@
         rev = Revision(None)
         self.mapping.import_revision_revprops({"svn:log": "A log msg",
                                       "svn:author": "Somebody",
-                                      "svn:date": "2008-11-03T09:33:00.716938Z"}, ("someuuid", "trunk", 23), rev)
+                                      "svn:date": "2008-11-03T09:33:00.716938Z"},  rev)
         self.assertEquals("Somebody", rev.committer)
         self.assertEquals("A log msg", rev.message)
         self.assertEquals({}, rev.properties)




More information about the bazaar-commits mailing list