Index: subversion/libsvn_subr/error.c =================================================================== --- subversion/libsvn_subr/error.c (revision 1467305) +++ subversion/libsvn_subr/error.c (working copy) @@ -483,9 +483,22 @@ print_error(svn_error_t *err, FILE *stream, const { const char *symbolic_name = svn_error_symbolic_name(err->apr_err); + const char *start; + + /* ### Inside knowledge: re-add the SVN_ERR_ prefix. + (We could iterate error_table, but it's unlikely we'll add more error + codes that don't start with "SVN_ERR_" beyond these two.) */ + if (symbolic_name + && !strcmp(symbolic_name, "SVN_WARNING") + && !strcmp(symbolic_name, "SVN_NO_ERROR")) + start = ""; + else + start = "SVN_ERR_"; + if (symbolic_name) svn_error_clear(svn_cmdline_fprintf(stream, err->pool, - ": (apr_err=%s)\n", symbolic_name)); + ": (apr_err=%s%s)\n", + start, symbolic_name)); else svn_error_clear(svn_cmdline_fprintf(stream, err->pool, ": (apr_err=%d)\n", err->apr_err)); @@ -500,12 +513,19 @@ print_error(svn_error_t *err, FILE *stream, const /* Only print the same APR error string once. */ else if (err->message) { + const char *symbolic_name = svn_error_symbolic_name(err->apr_err); svn_error_clear(svn_cmdline_fprintf(stream, err->pool, - "%sE%06d: %s\n", - prefix, err->apr_err, err->message)); + "%sE%06d%s%s%s: %s\n", + prefix, err->apr_err, + symbolic_name ? " (" : "", + symbolic_name ? symbolic_name : "", + symbolic_name ? ")" : "", + err->message)); } else { + const char *symbolic_name = svn_error_symbolic_name(err->apr_err); + /* Is this a Subversion-specific error code? */ if ((err->apr_err > APR_OS_START_USEERR) && (err->apr_err <= APR_OS_START_CANONERR)) @@ -520,8 +540,12 @@ print_error(svn_error_t *err, FILE *stream, const } svn_error_clear(svn_cmdline_fprintf(stream, err->pool, - "%sE%06d: %s\n", - prefix, err->apr_err, err_string)); + "%sE%06d%s%s%s: %s\n", + prefix, err->apr_err, + symbolic_name ? " (" : "", + symbolic_name ? symbolic_name : "", + symbolic_name ? ")" : "", + err->message)); } } @@ -670,7 +694,12 @@ svn_error_symbolic_name(apr_status_t statcode) for (defn = error_table; defn->errdesc != NULL; ++defn) if (defn->errcode == (svn_errno_t)statcode) - return defn->errname; + { + if (!strncmp(defn->errname, "SVN_ERR_", 8)) + return defn->errname + 8; + else + return defn->errname; + } /* "No error" is not in error_table. */ if (statcode == SVN_NO_ERROR)