Rev 1818: Move connection muttering to a separate (wrapper) class. in file:///data/jelmer/bzr-svn/trunk/

Jelmer Vernooij jelmer at samba.org
Fri Sep 5 23:31:32 BST 2008


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

------------------------------------------------------------
revno: 1818
revision-id: jelmer at samba.org-20080905223129-mvbg5ljymyd2t3rg
parent: jelmer at samba.org-20080905220842-lwdf1ynt8uqj8kvs
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sat 2008-09-06 00:31:29 +0200
message:
  Move connection muttering to a separate (wrapper) class.
modified:
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
  ra.c                           ra.pyx-20080313140933-qybkqaxe3m4mcll7-1
  transport.py                   transport.py-20060406231150-b3472d06b3a0818d
=== modified file 'fetch.py'
--- a/fetch.py	2008-09-05 20:24:24 +0000
+++ b/fetch.py	2008-09-05 22:31:29 +0000
@@ -738,12 +738,10 @@
                             assert revmeta.revnum > parent_revnum or start_empty
 
                             if parent_branch != revmeta.branch_path:
-                                self.source.transport.mutter("svn switch -r%d:%d -> %s" % (parent_revnum, revmeta.revnum, revmeta.branch_path))
                                 reporter = conn.do_switch(revmeta.revnum, "", True, 
                                     _url_escape_uri(urlutils.join(repos_root, revmeta.branch_path)), 
                                     editor)
                             else:
-                                self.source.transport.mutter("svn update -r%d:%d" % (parent_revnum, revmeta.revnum))
                                 reporter = conn.do_update(revmeta.revnum, "", True, editor)
 
                             report_inventory_contents(reporter, parent_inv, parent_revnum, start_empty)

=== modified file 'ra.c'
--- a/ra.c	2008-09-04 17:55:25 +0000
+++ b/ra.c	2008-09-05 22:31:29 +0000
@@ -1969,7 +1969,7 @@
 	NULL, /*	PyBufferProcs *tp_as_buffer;	*/
 	
 	/* Flags to define presence of optional/expanded features */
-	0, /*	long tp_flags;	*/
+	Py_TPFLAGS_BASETYPE, /*	long tp_flags;	*/
 	
 	NULL, /*	const char *tp_doc;  Documentation string */
 	

=== modified file 'transport.py'
--- a/transport.py	2008-09-04 17:55:25 +0000
+++ b/transport.py	2008-09-05 22:31:29 +0000
@@ -111,6 +111,8 @@
         ret = ra.RemoteAccess(url.encode('utf8'), 
                 auth=create_auth_baton(url),
                 client_string_func=get_client_string)
+        if 'transport' in debug.debug_flags:
+            ret = MutteringRemoteAccess(ret)
     except SubversionException, (msg, num):
         if num in (ERR_RA_SVN_REPOS_NOT_FOUND,):
             raise NoSvnRepositoryPresent(url=url)
@@ -225,7 +227,6 @@
     def get_uuid(self):
         if self._uuid is None:
             conn = self.get_connection()
-            self.mutter('svn get-uuid')
             try:
                 return conn.get_uuid()
             finally:
@@ -241,7 +242,6 @@
 
     def get_svn_repos_root(self):
         if self._repos_root is None:
-            self.mutter('svn get-repos-root')
             conn = self.get_connection()
             try:
                 self._repos_root = conn.get_repos_root()
@@ -251,7 +251,6 @@
 
     def get_latest_revnum(self):
         conn = self.get_connection()
-        self.mutter('svn get-latest-revnum')
         try:
             return conn.get_latest_revnum()
         finally:
@@ -264,8 +263,6 @@
         assert isinstance(limit, int)
         from threading import Thread, Semaphore
 
-        self.mutter('svn iter-log -r%d:%d %r ' % (from_revnum, to_revnum, paths))
-
         class logfetcher(Thread):
             def __init__(self, transport, *args, **kwargs):
                 Thread.__init__(self)
@@ -323,8 +320,6 @@
         
         assert paths is None or all_true
 
-        self.mutter('svn log -r%d:%d %r' % (from_revnum, to_revnum, paths))
-
         if paths is None:
             newpaths = None
         else:
@@ -342,7 +337,6 @@
 
     def change_rev_prop(self, revnum, name, value):
         conn = self.get_connection()
-        self.mutter('svn change-revprop -r%d %s=%s' % (revnum, name, value))
         try:
             return conn.change_rev_prop(revnum, name, value)
         finally:
@@ -350,7 +344,6 @@
 
     def get_dir(self, path, revnum, kind=False):
         conn = self.get_connection()
-        self.mutter('svn get-dir -r%d %s' % (revnum, path))
         try:
             return conn.get_dir(path, revnum, kind)
         finally:
@@ -358,16 +351,11 @@
 
     def get_file(self, path, stream, revnum):
         conn = self.get_connection()
-        self.mutter('svn get-file -r%d %s' % (revnum, path))
         try:
             return conn.get_file(path, stream, revnum)
         finally:
             self.add_connection(conn)
 
-    def mutter(self, text, *args):
-        if 'transport' in debug.debug_flags:
-            mutter(text, *args)
-
     def list_dir(self, relpath):
         assert len(relpath) == 0 or relpath[0] != "/"
         if relpath == ".":
@@ -382,7 +370,6 @@
 
     def check_path(self, path, revnum):
         conn = self.get_connection()
-        self.mutter('svn check-path -r%d %s' % (revnum, path))
         try:
             return conn.check_path(path, revnum)
         finally:
@@ -391,7 +378,6 @@
     @convert_svn_error
     def mkdir(self, relpath, message="Creating directory"):
         conn = self.get_connection()
-        self.mutter('svn mkdir %s' % (relpath,))
         try:
             ce = conn.get_commit_editor({"svn:log": message})
             try:
@@ -419,7 +405,6 @@
         if cap in self.capabilities:
             return self.capabilities[cap]
         conn = self.get_connection()
-        self.mutter('svn has-capability %s' % (cap,))
         try:
             try:
                 self.capabilities[cap] = conn.has_capability(cap)
@@ -431,7 +416,6 @@
 
     def revprop_list(self, revnum):
         conn = self.get_connection()
-        self.mutter('svn revprop-list -r%d' % (revnum,))
         try:
             return conn.rev_proplist(revnum)
         finally:
@@ -439,7 +423,6 @@
 
     def get_locations(self, path, peg_revnum, revnums):
         conn = self.get_connection()
-        self.mutter('svn get_locations -r%d %s (%r)' % (peg_revnum, path, revnums))
         try:
             return conn.get_locations(path, peg_revnum, revnums)
         finally:
@@ -496,3 +479,73 @@
     def abspath(self, relpath):
         """See Transport.abspath()."""
         return urlutils.join(self.base, relpath)
+
+
+class MutteringRemoteAccess(object):
+
+    busy = property(lambda self: self.actual.busy)
+    url = property(lambda self: self.actual.url)
+
+    def __init__(self, actual):
+        self.actual = actual
+
+    def check_path(self, path, revnum):
+        mutter('svn check-path -r%d %s' % (revnum, path))
+        return self.actual.check_path(path, revnum)
+
+    def has_capability(self, cap):
+        mutter('svn has-capability %s' % (cap,))
+        return self.actual.has_capability(cap)
+
+    def get_uuid(self):
+        mutter('svn get-uuid')
+        return self.actual.get_uuid()
+
+    def get_repos_root(self):
+        mutter('svn get-repos-root')
+        return self.actual.get_repos_root()
+
+    def get_latest_revnum(self):
+        mutter('svn get-latest-revnum')
+        return self.actual.get_latest_revnum()
+
+    def get_log(self, callback, paths, from_revnum, to_revnum, *args, **kwargs):
+        mutter('svn log -r%d:%d %r' % (from_revnum, to_revnum, paths))
+        return self.actual.get_log(callback, paths, 
+                    from_revnum, to_revnum, *args, **kwargs)
+
+    def change_rev_prop(self, revnum, name, value):
+        mutter('svn change-revprop -r%d %s=%s' % (revnum, name, value))
+        return self.actual.change_rev_prop(revnum, name, value)
+
+    def get_dir(self, path, revnum=-1, fields=0):
+        mutter('svn get-dir -r%d %s' % (revnum, path))
+        return self.actual.get_dir(path, revnum, fields)
+
+    def get_file(self, path, revnum):
+        mutter('svn get-file -r%d %s' % (revnum, path))
+        return self.actual.get_file(path, revnum)
+
+    def revprop_list(self, revnum):
+        mutter('svn revprop-list -r%d' % (revnum,))
+        return self.actual.revprop_list(revnum)
+
+    def get_locations(self, path, peg_revnum, revnums):
+        mutter('svn get_locations -r%d %s (%r)' % (peg_revnum, path, revnums))
+        return self.actual.get_locations(path, peg_revnum, revnums)
+
+    def do_update(self, revnum, path, start_empty, editor):
+        mutter("svn update -r%d %s" % (revnum, path))
+        return self.actual.do_update(revnum, path, start_empty, editor)
+
+    def do_switch(self, revnum, path, start_empty, to_url, editor):
+        mutter("svn switch -r%d %s -> %s" % (revnum, path, to_url))
+        return self.actual.do_switch(revnum, path, start_empty, to_url, editor)
+
+    def reparent(self, url):
+        mutter("svn reparent %s" % url)
+        return self.actual.reparent(url)
+
+    def get_commit_editor(self, *args, **kwargs):
+        mutter("svn commit")
+        return self.actual.get_commit_editor(*args, **kwargs)




More information about the bazaar-commits mailing list