Rev 598: Raise NotImplementedError when remote server or local client implementation does't support sending a revision property table. in file:///data/jelmer/bzr-svn/revprops/

Jelmer Vernooij jelmer at samba.org
Thu Dec 6 20:52:49 GMT 2007


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

------------------------------------------------------------
revno: 598
revision-id:jelmer at samba.org-20071206205248-6w09p3stwkuy3rwa
parent: jelmer at samba.org-20071206205202-x18dllv0w1hpo1qa
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: revprops
timestamp: Thu 2007-12-06 21:52:48 +0100
message:
  Raise NotImplementedError when remote server or local client implementation does't support sending a revision property table.
modified:
  config.py                      config.py-20070624185721-0j8f1ly75uo4s1lk-1
  tests/test_config.py           test_config.py-20070624193244-itvnst60evjidr4z-1
  transport.py                   transport.py-20060406231150-b3472d06b3a0818d
=== modified file 'config.py'
--- a/config.py	2007-12-06 18:36:20 +0000
+++ b/config.py	2007-12-06 20:52:48 +0000
@@ -82,14 +82,6 @@
         except KeyError:
             return None
 
-    def get_supports_commit_revprop(self):
-        """Check whether or not the repository supports setting custom
-        revision properties during commit."""
-        try:
-            return self._get_parser().get_bool(self.uuid, "supports-commit-revprop")
-        except KeyError:
-            return None
-
     def get_override_svn_revprops(self):
         """Check whether or not bzr-svn should attempt to override Subversion revision 
         properties after committing."""

=== modified file 'tests/test_config.py'
--- a/tests/test_config.py	2007-12-06 18:36:20 +0000
+++ b/tests/test_config.py	2007-12-06 20:52:48 +0000
@@ -72,11 +72,3 @@
         self.assertEquals(True, c.get_supports_change_revprop())
         c.set_user_option("supports-change-revprop", "False")
         self.assertEquals(False, c.get_supports_change_revprop())
-
-    def test_supports_commit_revprop(self):
-        c = SvnRepositoryConfig("blabla2")
-        self.assertEquals(None, c.get_supports_commit_revprop())
-        c.set_user_option("supports-commit-revprop", "True")
-        self.assertEquals(True, c.get_supports_commit_revprop())
-        c.set_user_option("supports-commit-revprop", "False")
-        self.assertEquals(False, c.get_supports_commit_revprop())

=== modified file 'transport.py'
--- a/transport.py	2007-11-13 22:40:56 +0000
+++ b/transport.py	2007-12-06 20:52:48 +0000
@@ -472,8 +472,9 @@
         return self.Reporter(self, svn.ra.do_update(self._ra, revnum, "", 
                              recurse, edit, edit_baton, pool))
 
-    def supports_custom_revprops(self):
-        return has_attr(svn.ra, 'get_commit_editor3')
+    @convert_svn_error
+    def has_capability(self ,cap):
+        return svn.ra.has_capability(self._ra, cap)
 
     @convert_svn_error
     def revprop_list(self, revnum, pool=None):
@@ -484,13 +485,16 @@
     def get_commit_editor(self, revprops, done_cb, lock_token, keep_locks):
         self._open_real_transport()
         self._mark_busy()
-        if revprops.keys() == [svn.core.SVN_PROP_REVISION_LOG]:
+        if has_attr(svn.ra, 'get_commit_editor3'):
+            editor = svn.ra.get_commit_editor3(self._ra, revprops, done_cb, 
+                                              lock_token, keep_locks)
+        elif revprops.keys() != [svn.core.SVN_PROP_REVISION_LOG]:
+            raise NotImplementedError()
+        else:
             editor = svn.ra.get_commit_editor(self._ra, 
                         revprops[svn.core.SVN_PROP_REVISION_LOG],
                         done_cb, lock_token, keep_locks)
-        else:
-            editor = svn.ra.get_commit_editor3(self._ra, revprops, done_cb, 
-                                              lock_token, keep_locks)
+
         return Editor(self, editor)
 
     def listable(self):




More information about the bazaar-commits mailing list