On Fri, Apr 12, 2013 at 02:34:26PM -0400, C. Michael Pilato wrote: > Daniel, I find the current error display really ... weighty, for lack of a > better term. It's difficult to pick out the meat of the message amongst the > overwhelming amount of repetitive, all-caps symbolic names of error codes. > > Something to consider: omit the symbolic name from the printed error lines, > but after the final error stack level is printed, print a mapping of codes > to names. So, rather than this: > > subversion/svn/checkout-cmd.c:168: > (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > subversion/libsvn_client/checkout.c:197: > (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > subversion/libsvn_client/checkout.c:100: > (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > subversion/libsvn_client/ra.c:541: > (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > subversion/libsvn_client/ra.c:393: > (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > subversion/libsvn_ra/ra_loader.c:482: > (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > svn: E180001: Unable to connect to a repository at URL > 'file:///home/cmpilato/tests/arch' > subversion/libsvn_ra_local/ra_plugin.c:578: > (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > svn: E180001: Unable to open an ra_local session to URL > subversion/libsvn_ra_local/split_url.c:46: > (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > svn: E180001: Unable to open repository 'file:///home/cmpilato/tests/arch' > > Do this: > > subversion/svn/checkout-cmd.c:168 (apr_err=180001) > subversion/libsvn_client/checkout.c:197 (apr_err=180001) > subversion/libsvn_client/checkout.c:100 (apr_err=180001) > subversion/libsvn_client/ra.c:541 (apr_err=180001) > subversion/libsvn_client/ra.c:393 (apr_err=180001) > subversion/libsvn_ra/ra_loader.c:482 (apr_err=180001) > svn: E180001: Unable to connect to a repository at URL > 'file:///home/cmpilato/tests/arch' > subversion/libsvn_ra_local/ra_plugin.c:578 (apr_err=180001) > svn: E180001: Unable to open an ra_local session to URL > subversion/libsvn_ra_local/split_url.c:46 (apr_err=180001) > svn: E180001: Unable to open repository 'file:///home/cmpilato/tests/arch' > (E1800001 = SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) >
Another idea: avoid printing the (apr_err=) part if it's the same code as the line above it (which should be the common case): subversion/svn/checkout-cmd.c:168 (apr_err=SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) subversion/libsvn_client/checkout.c:197 (apr_err=^) subversion/libsvn_client/checkout.c:100 (apr_err=^) subversion/libsvn_client/ra.c:541 (apr_err=^) subversion/libsvn_client/ra.c:393 (apr_err=^) subversion/libsvn_ra/ra_loader.c:482 (apr_err=^) svn: E180001: Unable to connect to a repository at URL 'file:///home/cmpilato/tests/arch' subversion/libsvn_ra_local/ra_plugin.c:578 (apr_err=^) svn: E180001: Unable to open an ra_local session to URL subversion/libsvn_ra_local/split_url.c:46 (apr_err=SVN_ERR_SOMETHING_ELSE) svn: E180003: Unable to open repository 'file:///home/cmpilato/tests/arch' > And in release mode: > > svn: E180003: Unable to connect to a repository at URL > 'file:///home/cmpilato/tests/arch' > svn: E180012: Unable to open an ra_local session to URL > svn: E180001: Unable to open repository 'file:///home/cmpilato/tests/arch' > (E1800001 = SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED) > (E1800003 = SVN_ERR_SOMETHING_ELSE) > (E1800012 = SVN_ERR_YET_ANOTHER_FAILURE) > > Thoughts? That's an interesting idea. I don't have a strong opinion on it at the moment.