Save some calls retrieving branch properties.
authorJelmer Vernooij <jelmer@samba.org>
Sat, 22 Mar 2008 18:59:08 +0000 (19:59 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Sat, 22 Mar 2008 18:59:08 +0000 (19:59 +0100)
workingtree.py

index ee6481d60ff75533c9511d7010d07738411547df..7dcb5a218e6312ed527e50131e76a91b209df676 100644 (file)
@@ -442,7 +442,7 @@ class SvnWorkingTree(WorkingTree):
         wc = self._get_wc(write_lock=True)
         try:
             svn.wc.prop_set(SVN_PROP_BZR_REVISION_ID+str(self.branch.mapping.scheme), 
-                             self._get_bzr_revids() + extra,
+                             self._get_bzr_revids(self._get_base_branch_props()) + extra,
                              self.basedir, wc)
             svn.wc.prop_set(SVN_PROP_BZR_REVISION_INFO, 
                              generate_revision_metadata(timestamp, 
@@ -465,14 +465,12 @@ class SvnWorkingTree(WorkingTree):
             # Reset properties so the next subversion commit won't 
             # accidently set these properties.
             wc = self._get_wc(write_lock=True)
+            base_branch_props = self._get_base_branch_props()
             svn.wc.prop_set(SVN_PROP_BZR_REVISION_ID+str(self.branch.mapping.scheme), 
-                             self._get_bzr_revids(), self.basedir, wc)
+                             self._get_bzr_revids(base_branch_props), self.basedir, wc)
             svn.wc.prop_set(SVN_PROP_BZR_REVISION_INFO, 
-                self.branch.repository.branchprop_list.get_property(
-                self.branch.get_branch_path(self.base_revnum), 
-                self.base_revnum, 
-                SVN_PROP_BZR_REVISION_INFO, ""), 
-                self.basedir, wc)
+                              base_branch_props.get(SVN_PROP_BZR_REVISION_INFO, ""),
+                              self.basedir, wc)
             svn.wc.adm_close(wc)
             raise
 
@@ -614,14 +612,14 @@ class SvnWorkingTree(WorkingTree):
         return dict(map(lambda x: str(x).split("\t"), 
             existing.splitlines()))
 
-    def _get_bzr_revids(self):
-        return self._get_base_branch_props().get(SVN_PROP_BZR_REVISION_ID+str(self.branch.mapping.scheme), "")
+    def _get_bzr_revids(self, base_branch_props):
+        return base_branch_props.get(SVN_PROP_BZR_REVISION_ID+str(self.branch.mapping.scheme), "")
 
-    def _get_bzr_merges(self):
-        return self._get_base_branch_props().get(SVN_PROP_BZR_ANCESTRY+str(self.branch.mapping.scheme), "")
+    def _get_bzr_merges(self, base_branch_props):
+        return base_branch_props.get(SVN_PROP_BZR_ANCESTRY+str(self.branch.mapping.scheme), "")
 
-    def _get_svk_merges(self):
-        return self._get_base_branch_props().get(SVN_PROP_SVK_MERGE, "")
+    def _get_svk_merges(self, base_branch_props):
+        return base_branch_props.get(SVN_PROP_SVK_MERGE, "")
 
     def set_pending_merges(self, merges):
         """See MutableTree.set_pending_merges()."""
@@ -634,10 +632,10 @@ class SvnWorkingTree(WorkingTree):
                 bzr_merge = ""
 
             svn.wc.prop_set(SVN_PROP_BZR_ANCESTRY+str(self.branch.mapping.scheme), 
-                                 self._get_bzr_merges() + bzr_merge, 
+                                 self._get_bzr_merges(self._get_base_branch_props()) + bzr_merge, 
                                  self.basedir, wc)
             
-            svk_merges = parse_svk_features(self._get_svk_merges())
+            svk_merges = parse_svk_features(self._get_svk_merges(self._get_base_branch_props()))
 
             # Set svk:merge
             for merge in merges:
@@ -658,7 +656,7 @@ class SvnWorkingTree(WorkingTree):
         self.set_pending_merges(merges)
 
     def pending_merges(self):
-        merged = self._get_bzr_merges().splitlines()
+        merged = self._get_bzr_merges(self._get_base_branch_props()).splitlines()
         wc = self._get_wc()
         try:
             merged_data = svn.wc.prop_get(