Rev 1292: Use capabilities rather than catching exceptions. in http://people.samba.org/bzr/jelmer/bzr-svn/0.4

Jelmer Vernooij jelmer at samba.org
Sun Jun 22 23:58:51 BST 2008


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

------------------------------------------------------------
revno: 1292
revision-id: jelmer at samba.org-20080622225850-wbgyt5u4yrzqomw4
parent: jelmer at samba.org-20080622224927-9u06e34mzxmo0om3
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Mon 2008-06-23 00:58:50 +0200
message:
  Use capabilities rather than catching exceptions.
modified:
  commit.py                      commit.py-20060607190346-qvq128wgfubhhgm2-1
  logwalker.py                   logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
  transport.py                   transport.py-20060406231150-b3472d06b3a0818d
=== modified file 'commit.py'
--- a/commit.py	2008-06-22 16:37:13 +0000
+++ b/commit.py	2008-06-22 22:58:50 +0000
@@ -449,11 +449,11 @@
             for prop in self._svn_revprops:
                 if not properties.is_valid_property_name(prop):
                     warning("Setting property %r with invalid characters in name", prop)
-            try:
+            if self.repository.transport.has_capability("commit-revprops"):
                 self.editor = self.repository.transport.get_commit_editor(
                         self._svn_revprops, done, None, False)
                 self._svn_revprops = {}
-            except NotImplementedError:
+            else:
                 if set_revprops:
                     raise
                 # Try without bzr: revprops

=== modified file 'logwalker.py'
--- a/logwalker.py	2008-06-22 22:49:27 +0000
+++ b/logwalker.py	2008-06-22 22:58:50 +0000
@@ -346,12 +346,10 @@
 
         try:
             # Subversion 1.4 clients and servers can only deliver a limited set of revprops
-            todo_revprops = ["svn:author", "svn:log", "svn:date"]
-            try:
-                if self._transport.has_capability("log-revprops"):
-                    todo_revprops = None
-            except NotImplementedError:
-                pass
+            if self._transport.has_capability("log-revprops"):
+                todo_revprops = None
+            else:
+                todo_revprops = ["svn:author", "svn:log", "svn:date"]
 
             iterator = self._transport.iter_log(paths, from_revnum, to_revnum, limit, 
                                                     True, False, False, revprops=todo_revprops)

=== modified file 'transport.py'
--- a/transport.py	2008-06-22 22:49:27 +0000
+++ b/transport.py	2008-06-22 22:58:50 +0000
@@ -394,7 +394,10 @@
         conn = self.get_connection()
         self.mutter('svn has-capability %s' % (cap,))
         try:
-            self.capabilities[cap] = conn.has_capability(cap)
+            try:
+                self.capabilities[cap] = conn.has_capability(cap)
+            except NotImplementedError:
+                self.capabilities[cap] = False # Assume the worst
             return self.capabilities[cap]
         finally:
             self.add_connection(conn)




More information about the bazaar-commits mailing list