Rev 418: Use the error-convert decorator. TCP connections being dropped will now no longer result in long backtraces but rather give a sane error. in http://people.samba.org/bzr/jelmer/bzr-svn/bzr.dev
Jelmer Vernooij
jelmer at samba.org
Wed Jan 31 12:03:20 GMT 2007
At http://people.samba.org/bzr/jelmer/bzr-svn/bzr.dev
------------------------------------------------------------
revno: 418
revision-id: jelmer at samba.org-20070131120255-aty0vln7gmh7wfgh
parent: jelmer at samba.org-20070129185019-guwbgzyaxo10ackl
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: main
timestamp: Wed 2007-01-31 13:02:55 +0100
message:
Use the error-convert decorator. TCP connections being dropped will now no longer result in long backtraces but rather give a sane error.
modified:
TODO todo-20060729211917-2kpobww0zyvvo0j2-1
transport.py transport.py-20060406231150-b3472d06b3a0818d
=== modified file 'TODO'
--- a/TODO 2007-01-20 23:01:10 +0000
+++ b/TODO 2007-01-31 12:02:55 +0000
@@ -17,3 +17,6 @@
- more efficient implementation for applying txdeltas to weaves. perhaps convert svn deltas to bzr deltas?
- free memory!
- implement BzrDirFormat.get_converter()
+- implement find_children by doing a checkout of the subdirectory in
+ question, rather then using recursive ls. Should improve the speed of
+ a first use of bzr-svn in a lightweight checkout significantly.
=== modified file 'transport.py'
--- a/transport.py 2007-01-17 14:07:01 +0000
+++ b/transport.py 2007-01-31 12:02:55 +0000
@@ -29,6 +29,8 @@
import svn.core
import svn.client
+from errors import convert_svn_error
+
# Some older versions of the Python bindings need to be
# explicitly initialized
svn.ra.initialize()
@@ -95,6 +97,7 @@
This implements just as much of Transport as is necessary
to fool Bazaar. """
+ @convert_svn_error
def __init__(self, url=""):
self.pool = Pool()
self.is_locked = False
@@ -142,31 +145,37 @@
raise TransportNotPossible('stat not supported on Subversion')
@need_lock
+ @convert_svn_error
def get_uuid(self):
mutter('svn get-uuid')
return svn.ra.get_uuid(self._ra)
@need_lock
+ @convert_svn_error
def get_repos_root(self):
mutter("svn get-repos-root")
return svn.ra.get_repos_root(self._ra)
@need_lock
+ @convert_svn_error
def get_latest_revnum(self):
mutter("svn get-latest-revnum")
return svn.ra.get_latest_revnum(self._ra)
@need_lock
+ @convert_svn_error
def do_switch(self, switch_rev, switch_target, recurse, switch_url, *args, **kwargs):
mutter('svn switch -r %d %r -> %r' % (switch_rev, switch_target, switch_url))
return svn.ra.do_switch(self._ra, switch_rev, switch_target, recurse, switch_url, *args, **kwargs)
@need_lock
+ @convert_svn_error
def get_log(self, path, from_revnum, to_revnum, *args, **kwargs):
mutter('svn log %r:%r %r' % (from_revnum, to_revnum, path))
return svn.ra.get_log(self._ra, [path], from_revnum, to_revnum, *args, **kwargs)
@need_lock
+ @convert_svn_error
def reparent(self, url):
url = url.rstrip("/")
if url == self.svn_url:
@@ -180,6 +189,7 @@
self._ra = svn.client.open_ra_session(self.svn_url.encode('utf8'),
self._client, self.pool)
@need_lock
+ @convert_svn_error
def get_dir(self, path, revnum, pool=None, kind=False):
mutter("svn ls -r %d '%r'" % (revnum, path))
path = path.rstrip("/")
@@ -194,6 +204,7 @@
else:
return svn.ra.get_dir(self._ra, path, revnum)
+ @convert_svn_error
def list_dir(self, relpath):
assert len(relpath) == 0 or relpath[0] != "/"
if relpath == ".":
@@ -208,12 +219,14 @@
return dirents.keys()
@need_lock
+ @convert_svn_error
def check_path(self, path, revnum, *args, **kwargs):
assert len(path) == 0 or path[0] != "/"
mutter("svn check_path -r%d %s" % (revnum, path))
return svn.ra.check_path(self._ra, path, revnum, *args, **kwargs)
@need_lock
+ @convert_svn_error
def mkdir(self, relpath, mode=None):
path = "%s/%s" % (self.svn_url, relpath)
try:
@@ -226,11 +239,13 @@
raise
@need_lock
+ @convert_svn_error
def do_update(self, revnum, path, *args, **kwargs):
mutter('svn update -r %r %r' % (revnum, path))
return svn.ra.do_update(self._ra, revnum, path, *args, **kwargs)
@need_lock
+ @convert_svn_error
def get_commit_editor(self, *args, **kwargs):
return svn.ra.get_commit_editor(self._ra, *args, **kwargs)
More information about the bazaar-commits
mailing list