You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rd...@apache.org on 2010/05/28 22:20:42 UTC
svn commit: r949280 - in /subversion/trunk/subversion/bindings/swig/python:
libsvn_swig_py/swigutil_py.c svn/core.py
Author: rdonch
Date: Fri May 28 20:20:42 2010
New Revision: 949280
URL: http://svn.apache.org/viewvc?rev=949280&view=rev
Log:
Revert r949242 and do something better instead: give SubversionException a
__str__ which will dump the whole error chain.
* subversion/bindings/swig/python/svn/core.py:
(SubversionException.__str__): New function.
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
(svn_swig_py_svn_exception): Don't strip traced errors.
Modified:
subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
subversion/trunk/subversion/bindings/swig/python/svn/core.py
Modified: subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=949280&r1=949279&r2=949280&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Fri May 28 20:20:42 2010
@@ -347,11 +347,6 @@ void svn_swig_py_svn_exception(svn_error
if (error_chain == NULL)
return;
- /* ### It'd be really nifty to display the entire stack trace in
- python-land (similar to what we do in JavaHL), but since that's
- out of my league, we settle with just purging the traced frames. */
- error_chain = svn_error_purge_tracing(error_chain);
-
/* Start with no references. */
args_list = args = apr_err_ob = message_ob = file_ob = line_ob = NULL;
svn_module = exc_class = exc_ob = NULL;
Modified: subversion/trunk/subversion/bindings/swig/python/svn/core.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/svn/core.py?rev=949280&r1=949279&r2=949280&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/python/svn/core.py (original)
+++ subversion/trunk/subversion/bindings/swig/python/svn/core.py Fri May 28 20:20:42 2010
@@ -66,6 +66,15 @@ class SubversionException(Exception):
self.file = file
self.line = line
+ def __str__(self):
+ dump = '%d - %s' % (self.apr_err, self.message)
+ if self.file != None:
+ dump = dump + '\n at %s:%d' % (self.file, self.line)
+ if self.child != None:
+ dump = dump + '\n' + self.child.__str__()
+
+ return dump
+
@classmethod
def _new_from_err_list(cls, errors):
"""Return new Subversion exception object from list of svn_error_t data.