Rev 1967: Fix the build. in file:///data/jelmer/bzr-svn/trunk/

Jelmer Vernooij jelmer at samba.org
Sun Nov 9 18:17:56 GMT 2008


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

------------------------------------------------------------
revno: 1967
revision-id: jelmer at samba.org-20081109181753-3phxrboa09sz3hmj
parent: jelmer at samba.org-20081109050543-xul5rd4rvkkvli97
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sun 2008-11-09 19:17:53 +0100
message:
  Fix the build.
modified:
  commit.py                      commit.py-20060607190346-qvq128wgfubhhgm2-1
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
  revmeta.py                     revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
  tests/mapping_implementations/test_base.py test_base.py-20080904055908-3t0g1y0qnmr6aeiq-1
  workingtree.py                 workingtree.py-20060306120941-b083cb0fdd4a69de
=== modified file 'commit.py'
--- a/commit.py	2008-11-08 18:07:12 +0000
+++ b/commit.py	2008-11-09 18:17:53 +0000
@@ -574,15 +574,16 @@
 
                 # Set all the revprops
                 if self.push_metadata and self._svnprops.is_loaded:
-                    for prop, value in self._svnprops.items():
-                        if value == self._base_branch_props.get(prop):
+                    for prop, newvalue in self._svnprops.items():
+                        oldvalue = self._base_branch_props.get(prop)
+                        if oldvalue == newvalue:
                             continue
-                        self._changed_fileprops[prop] = value
+                        self._changed_fileprops[prop] = (oldvalue, newvalue)
                         if not properties.is_valid_property_name(prop):
                             warning("Setting property %r with invalid characters in name", prop)
-                        assert isinstance(value, str)
-                        branch_editors[-1].change_prop(prop, value)
-                        self.mutter("Setting root file property %r -> %r", prop, value)
+                        assert isinstance(newvalue, str)
+                        branch_editors[-1].change_prop(prop, newvalue)
+                        self.mutter("Setting root file property %r -> %r", prop, newvalue)
 
                 for dir_editor in reversed(branch_editors):
                     dir_editor.close()

=== modified file 'fetch.py'
--- a/fetch.py	2008-11-05 20:28:03 +0000
+++ b/fetch.py	2008-11-09 18:17:53 +0000
@@ -104,7 +104,7 @@
             # Replay lazy_dict, since it may be more expensive
             if type(self.editor.revmeta._changed_fileprops) != dict:
                 self.editor.revmeta._changed_fileprops = {}
-            self.editor.revmeta._changed_fileprops[name] = value
+            self.editor.revmeta._changed_fileprops[name] = (None, value)
 
         if name in (properties.PROP_ENTRY_COMMITTED_DATE,
                     properties.PROP_ENTRY_COMMITTED_REV,

=== modified file 'revmeta.py'
--- a/revmeta.py	2008-10-10 13:20:31 +0000
+++ b/revmeta.py	2008-11-09 18:17:53 +0000
@@ -249,14 +249,12 @@
         if not self.changes_branch_root():
             return ()
 
-        current = self.get_fileprops().get(SVN_PROP_SVK_MERGE, "")
+        previous, current = self.get_changed_fileprops().get(SVN_PROP_SVK_MERGE, ("", ""))
         if current == "":
             return ()
 
-        previous = self.get_previous_fileprops().get(SVN_PROP_SVK_MERGE, "")
-
         ret = []
-        for feature in svk_features_merged_since(current, previous):
+        for feature in svk_features_merged_since(current, previous or ""):
             # We assume svk:merge is only relevant on non-bzr-svn revisions. 
             # If this is a bzr-svn revision, the bzr-svn properties 
             # would be parsed instead.

=== modified file 'tests/mapping_implementations/test_base.py'
--- a/tests/mapping_implementations/test_base.py	2008-09-09 13:45:01 +0000
+++ b/tests/mapping_implementations/test_base.py	2008-11-09 18:17:53 +0000
@@ -18,6 +18,10 @@
 from bzrlib.tests import TestCase, TestNotApplicable
 
 from bzrlib.plugins.svn.mapping import mapping_registry
+from subvertpy import properties
+
+def changed_props(props):
+    return properties.diff(props, {})
 
 class RoundtripMappingTests(TestCase):
 
@@ -43,7 +47,7 @@
         self.mapping.export_fileid_map(fileids, revprops, fileprops)
         revprops["svn:date"] = "2008-11-03T09:33:00.716938Z"
         self.assertEquals(fileids, 
-                self.mapping.import_fileid_map(revprops, fileprops))
+                self.mapping.import_fileid_map(revprops, changed_props(fileprops)))
 
     def test_text_parents(self):
         if not self.mapping.roundtripping:
@@ -53,7 +57,7 @@
         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, fileprops))
+            self.mapping.import_text_parents(revprops, changed_props(fileprops)))
 
     def test_text_revisions(self):
         if not self.mapping.roundtripping:
@@ -63,7 +67,7 @@
         text_revisions = {"bla": "bloe", "ll": "12"}
         self.mapping.export_text_revisions(text_revisions, revprops, fileprops)
         self.assertEquals(text_revisions,
-            self.mapping.import_text_revisions(revprops, fileprops))
+            self.mapping.import_text_revisions(revprops, changed_props(fileprops)))
 
     def test_message(self):
         if not self.mapping.roundtripping:
@@ -78,7 +82,7 @@
         except NotImplementedError:
             raise TestNotApplicable
         targetrev = Revision(None)
-        self.mapping.import_revision(revprops, fileprops, "someuuid", "somebp", 4, targetrev)
+        self.mapping.import_revision(revprops, changed_props(fileprops), "someuuid", "somebp", 4, targetrev)
         self.assertEquals("My Commit message", targetrev.message)
 
     def test_revision(self):
@@ -90,7 +94,7 @@
                                      {"arevprop": "val" }, "arevid", 4, ["parent", "merge1"], revprops, fileprops)
         targetrev = Revision(None)
         revprops["svn:date"] = "2008-11-03T09:33:00.716938Z"
-        self.mapping.import_revision(revprops, fileprops, "someuuid", "somebp", 4, targetrev)
+        self.mapping.import_revision(revprops, changed_props(fileprops), "someuuid", "somebp", 4, targetrev)
         self.assertEquals(targetrev.committer, "somebody")
         self.assertEquals(targetrev.properties, {"arevprop": "val"})
         self.assertEquals(targetrev.timestamp, 432432432.0)
@@ -102,7 +106,7 @@
         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, fileprops))
+        self.assertEquals((4, "arevid"), self.mapping.get_revision_id("branchp", revprops, changed_props(fileprops)))
     
     def test_revision_id_none(self):
         if not self.mapping.roundtripping:

=== modified file 'workingtree.py'
--- a/workingtree.py	2008-10-02 21:18:28 +0000
+++ b/workingtree.py	2008-11-09 18:17:53 +0000
@@ -525,6 +525,17 @@
         if wc is None:
             subwc.close()
 
+    def _get_changed_branch_props(self):
+        wc = self._get_wc()
+        ret = {}
+        try:
+            (prop_changes, orig_props) = wc.get_prop_diffs(self.basedir)
+            for k,v in prop_changes:
+                ret[k] = (orig_props.get(k), v)
+            return ret
+        finally:
+            wc.close()
+
     def _get_branch_props(self):
         wc = self._get_wc()
         try:
@@ -552,7 +563,7 @@
 
     def _get_new_file_ids(self, wc):
         return self.branch.mapping.import_fileid_map({}, 
-                self._get_branch_props())
+                self._get_changed_branch_props())
 
     def _get_svk_merges(self, base_branch_props):
         return base_branch_props.get(SVN_PROP_SVK_MERGE, "")




More information about the bazaar-commits mailing list