Rev 1626: Provide information about custom revprops to mappings. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk

Jelmer Vernooij jelmer at samba.org
Sat Aug 23 22:41:59 BST 2008


At http://people.samba.org/bzr/jelmer/bzr-svn/trunk

------------------------------------------------------------
revno: 1626
revision-id: jelmer at samba.org-20080823214157-0qjr3cwu8r03likr
parent: jelmer at samba.org-20080823211940-o396sas9io7qq3be
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Sat 2008-08-23 23:41:57 +0200
message:
  Provide information about custom revprops to mappings.
modified:
  commit.py                      commit.py-20060607190346-qvq128wgfubhhgm2-1
  mapping.py                     mapping.py-20080128201303-6cp01phc0dmc0kiv-1
  mapping3/__init__.py           __init__.py-20080502174630-9324zh25kka98vlw-1
  tests/test_mapping.py          test_mapping.py-20080201131338-0zd86eznn4bojtee-1
=== modified file 'commit.py'
--- a/commit.py	2008-08-23 20:18:49 +0000
+++ b/commit.py	2008-08-23 21:41:57 +0000
@@ -184,7 +184,10 @@
             base_branch_props = {}
         else:
             base_branch_props = lazy_dict({}, self.repository.branchprop_list.get_properties, self.base_path, self.base_revnum)
-        (self._svn_revprops, self._svnprops) = self.base_mapping.export_revision(self.branch.get_branch_path(), timestamp, timezone, committer, revprops, revision_id, self.base_revno+1, merges, base_branch_props)
+        self.supports_custom_revprops = self.repository.transport.has_capability("commit-revprops")
+        (self._svn_revprops, self._svnprops) = self.base_mapping.export_revision(self.supports_custom_revprops, 
+            self.branch.get_branch_path(), timestamp, timezone, committer, revprops, 
+            revision_id, self.base_revno+1, merges, base_branch_props)
 
         if len(merges) > 0:
             new_svk_merges = update_svk_features(base_branch_props.get(SVN_PROP_SVK_MERGE, ""), merges)
@@ -463,10 +466,13 @@
                 text_parents[path] = revid
                 mutter('in %r: overriding text revid for %r -> %r' % (self._new_revision_id, path, revid))
 
-        self.base_mapping.export_text_parents(text_parents, self._svn_revprops, self._svnprops)
-        self.base_mapping.export_fileid_map(fileids, self._svn_revprops, self._svnprops)
+        self.base_mapping.export_text_parents(self.supports_custom_revprops, text_parents, 
+                                              self._svn_revprops, self._svnprops)
+        self.base_mapping.export_fileid_map(self.supports_custom_revprops, fileids, 
+                                            self._svn_revprops, self._svnprops)
         if self._config.get_log_strip_trailing_newline():
-            self.base_mapping.export_message(message, self._svn_revprops, self._svnprops)
+            self.base_mapping.export_message(self.supports_custom_revprops, message, 
+                                             self._svn_revprops, self._svnprops)
             message = message.rstrip("\n")
         if not self.push_metadata:
             self._svn_revprops = {}
@@ -479,7 +485,7 @@
             for prop in self._svn_revprops:
                 if not properties.is_valid_property_name(prop):
                     warning("Setting property %r with invalid characters in name", prop)
-            if self.repository.transport.has_capability("commit-revprops"):
+            if self.supports_custom_revprops:
                 self.editor = self.repository.transport.get_commit_editor(
                         self._svn_revprops, done, None, False)
                 self._svn_revprops = {}

=== modified file 'mapping.py'
--- a/mapping.py	2008-08-23 14:55:24 +0000
+++ b/mapping.py	2008-08-23 21:41:57 +0000
@@ -357,7 +357,7 @@
         """
         raise NotImplementedError(self.import_fileid_map)
 
-    def export_fileid_map(self, fileids, revprops, fileprops):
+    def export_fileid_map(self, can_use_custom_revprops, fileids, revprops, fileprops):
         """Adjust the properties for a file id map.
 
         :param fileids: Dictionary
@@ -374,7 +374,7 @@
         """
         raise NotImplementedError(self.import_text_parents)
 
-    def export_text_parents(self, text_parents, revprops, fileprops):
+    def export_text_parents(self, can_use_custom_revprops, text_parents, revprops, fileprops):
         """Store a text parent map.
 
         :param text_parents: Text parent map
@@ -383,14 +383,14 @@
         """
         raise NotImplementedError(self.export_text_parents)
 
-    def export_revision(self, branch_root, timestamp, timezone, committer, revprops, 
+    def export_revision(self, can_use_custom_revprops, branch_root, timestamp, timezone, committer, revprops, 
                         revision_id, revno, merges, fileprops):
         """Determines the revision properties and branch root file 
         properties.
         """
         raise NotImplementedError(self.export_revision)
 
-    def export_message(self, log, revprops, fileprops):
+    def export_message(self, can_use_custom_revprops, log, revprops, fileprops):
         raise NotImplementedError(self.export_message)
 
     def get_revision_id(self, branch_path, revprops, fileprops):
@@ -494,7 +494,7 @@
             return {}
         return parse_text_parents_property(metadata)
 
-    def export_text_parents(self, text_parents, svn_revprops, fileprops):
+    def export_text_parents(self, can_use_custom_revprops, text_parents, svn_revprops, fileprops):
         if text_parents != {}:
             fileprops[SVN_PROP_BZR_TEXT_PARENTS] = generate_text_parents_property(text_parents)
         else:
@@ -530,7 +530,7 @@
 
         return svnprops
  
-    def export_revision(self, branch_root, timestamp, timezone, committer, revprops, revision_id, revno, merges, old_fileprops):
+    def export_revision(self, can_use_custom_revprops, branch_root, timestamp, timezone, committer, revprops, revision_id, revno, merges, old_fileprops):
 
         # Keep track of what Subversion properties to set later on
         fileprops = {}
@@ -567,7 +567,7 @@
             mutter(str(e))
             return (None, None)
 
-    def export_fileid_map(self, fileids, revprops, fileprops):
+    def export_fileid_map(self, can_use_custom_revprops, fileids, revprops, fileprops):
         if fileids != {}:
             file_id_text = generate_fileid_property(fileids)
             fileprops[SVN_PROP_BZR_FILEIDS] = file_id_text
@@ -595,7 +595,7 @@
             return {}
         return parse_text_parents_property(svn_revprops[SVN_REVPROP_BZR_TEXT_PARENTS])
 
-    def export_text_parents(self, text_parents, svn_revprops, fileprops):
+    def export_text_parents(self, can_use_custom_revprops, text_parents, svn_revprops, fileprops):
         svn_revprops[SVN_REVPROP_BZR_TEXT_PARENTS] = generate_text_parents_property(text_parents)
 
     def get_rhs_parents(self, branch_path, svn_revprops, 
@@ -616,10 +616,10 @@
             return (revno, revid)
         return (None, None)
 
-    def export_message(self, message, revprops, fileprops):
+    def export_message(self, can_use_custom_revprops, message, revprops, fileprops):
         revprops[SVN_REVPROP_BZR_LOG] = message.encode("utf-8")
 
-    def export_revision(self, branch_root, timestamp, timezone, committer, 
+    def export_revision(self, can_use_custom_revprops, branch_root, timestamp, timezone, committer, 
                         revprops, revision_id, revno, merges, 
                         fileprops):
         svn_revprops = {SVN_REVPROP_BZR_MAPPING_VERSION: str(MAPPING_VERSION)}
@@ -645,7 +645,7 @@
 
         return (svn_revprops, {})
 
-    def export_fileid_map(self, fileids, revprops, fileprops):
+    def export_fileid_map(self, can_use_custom_revprops, fileids, revprops, fileprops):
         revprops[SVN_REVPROP_BZR_FILEIDS] = generate_fileid_property(fileids)
 
     def get_rhs_ancestors(self, branch_path, revprops, fileprops):

=== modified file 'mapping3/__init__.py'
--- a/mapping3/__init__.py	2008-08-22 20:41:03 +0000
+++ b/mapping3/__init__.py	2008-08-23 21:41:57 +0000
@@ -368,21 +368,21 @@
         else:
             return self.fileprops.import_fileid_map(svn_revprops, fileprops)
 
-    def export_revision(self, branch_root, timestamp, timezone, committer, revprops, revision_id, 
+    def export_revision(self, can_use_custom_revprops, branch_root, timestamp, timezone, committer, revprops, revision_id, 
                         revno, merges, fileprops):
-        (_, fileprops) = self.fileprops.export_revision(branch_root, timestamp, timezone, committer, 
+        (_, fileprops) = self.fileprops.export_revision(can_use_custom_revprops, branch_root, timestamp, timezone, committer, 
                                       revprops, revision_id, revno, merges, fileprops)
-        (revprops, _) = self.revprops.export_revision(branch_root, timestamp, timezone, committer, 
+        (revprops, _) = self.revprops.export_revision(can_use_custom_revprops, branch_root, timestamp, timezone, committer, 
                                       revprops, revision_id, revno, merges, fileprops)
         return (revprops, fileprops)
 
-    def export_fileid_map(self, fileids, revprops, fileprops):
-        self.fileprops.export_fileid_map(fileids, revprops, fileprops)
-        self.revprops.export_fileid_map(fileids, revprops, fileprops)
+    def export_fileid_map(self, can_use_custom_revprops, fileids, revprops, fileprops):
+        self.fileprops.export_fileid_map(can_use_custom_revprops, fileids, revprops, fileprops)
+        self.revprops.export_fileid_map(can_use_custom_revprops, fileids, revprops, fileprops)
 
-    def export_text_parents(self, text_parents, revprops, fileprops):
-        self.fileprops.export_text_parents(text_parents, revprops, fileprops)
-        self.revprops.export_text_parents(text_parents, revprops, fileprops)
+    def export_text_parents(self, can_use_custom_revprops, text_parents, revprops, fileprops):
+        self.fileprops.export_text_parents(can_use_custom_revprops, text_parents, revprops, fileprops)
+        self.revprops.export_text_parents(can_use_custom_revprops, text_parents, revprops, fileprops)
 
     def import_revision(self, svn_revprops, fileprops, uuid, branch, revnum, rev):
         self.fileprops.import_revision(svn_revprops, fileprops, uuid, branch, revnum, rev)

=== modified file 'tests/test_mapping.py'
--- a/tests/test_mapping.py	2008-08-23 17:55:26 +0000
+++ b/tests/test_mapping.py	2008-08-23 21:41:57 +0000
@@ -155,7 +155,7 @@
         revprops = {}
         fileprops = {}
         fileids = {"": "some-id", "bla/blie": "other-id"}
-        self.mapping.export_fileid_map(fileids, revprops, fileprops)
+        self.mapping.export_fileid_map(True, fileids, revprops, fileprops)
         revprops["svn:date"] = "2008-11-03T09:33:00.716938Z"
         self.assertEquals(fileids, 
                 self.mapping.import_fileid_map(revprops, fileprops))
@@ -166,18 +166,18 @@
         revprops = {}
         fileprops = {}
         text_parents = {"bla": "bloe", "ll": "12"}
-        self.mapping.export_text_parents(text_parents, revprops, fileprops)
+        self.mapping.export_text_parents(True, text_parents, revprops, fileprops)
         self.assertEquals(text_parents,
             self.mapping.import_text_parents(revprops, fileprops))
 
     def test_message(self):
         if not self.mapping.supports_roundtripping():
             raise TestNotApplicable
-        (revprops, fileprops) = self.mapping.export_revision("branchp", 432432432.0, 0, "somebody", 
+        (revprops, fileprops) = self.mapping.export_revision(True, "branchp", 432432432.0, 0, "somebody", 
                                      {"arevprop": "val"}, "arevid", 4, ["merge1"], dict())
         revprops["svn:date"] = "2008-11-03T09:33:00.716938Z"
         try:
-            self.mapping.export_message("My Commit message", revprops, fileprops)
+            self.mapping.export_message(True, "My Commit message", revprops, fileprops)
         except NotImplementedError:
             raise TestNotApplicable
         targetrev = Revision(None)
@@ -187,7 +187,7 @@
     def test_revision(self):
         if not self.mapping.supports_roundtripping():
             raise TestNotApplicable
-        (revprops, fileprops) = self.mapping.export_revision("branchp", 432432432.0, 0, "somebody", 
+        (revprops, fileprops) = self.mapping.export_revision(True, "branchp", 432432432.0, 0, "somebody", 
                                      {"arevprop": "val" }, "arevid", 4, ["merge1"], dict())
         targetrev = Revision(None)
         revprops["svn:date"] = "2008-11-03T09:33:00.716938Z"
@@ -200,7 +200,7 @@
     def test_revision_id(self):
         if not self.mapping.supports_roundtripping():
             raise TestNotApplicable
-        (revprops, fileprops) = self.mapping.export_revision("branchp", 432432432.0, 0, "somebody", {}, "arevid", 4, ["merge1"], dict())
+        (revprops, fileprops) = self.mapping.export_revision(True, "branchp", 432432432.0, 0, "somebody", {}, "arevid", 4, ["merge1"], dict())
         self.assertEquals((4, "arevid"), self.mapping.get_revision_id("branchp", revprops, fileprops))
     
     def test_revision_id_none(self):




More information about the bazaar-commits mailing list