bl...@apache.org wrote on Wed, Dec 22, 2010 at 17:01:21 -0000: > Author: blair > Date: Wed Dec 22 17:01:20 2010 > New Revision: 1051988 > > URL: http://svn.apache.org/viewvc?rev=1051988&view=rev > Log: > Improve error messages from svn_repos__post_commit_error_str(). Also, > improve docs. > > Found by: danielsh > > * subversion/libsvn_repos/commit.c > (svn_repos__post_commit_error_str): > Since this skips over SVN_ERR_REPOS_POST_COMMIT_HOOK_FAILED, > include in all messages where the message is coming from, > post-commit processing or post-commit hook. > > Modified: > subversion/trunk/subversion/libsvn_repos/commit.c > > Modified: subversion/trunk/subversion/libsvn_repos/commit.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/commit.c?rev=1051988&r1=1051987&r2=1051988&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_repos/commit.c (original) > +++ subversion/trunk/subversion/libsvn_repos/commit.c Wed Dec 22 17:01:20 2010 > @@ -657,6 +657,10 @@ svn_repos__post_commit_error_str(svn_err > > err = svn_error_purge_tracing(err); > > + /* hook_err1 is the SVN_ERR_REPOS_POST_COMMIT_HOOK_FAILED wrapped > + error from the post-commit script, if any, and hook_err2 should > + be the original error, but be defensive and handle a case where > + SVN_ERR_REPOS_POST_COMMIT_HOOK_FAILED doesn't wrap an error. */
Thanks. > hook_err1 = svn_error_find_cause(err, > SVN_ERR_REPOS_POST_COMMIT_HOOK_FAILED); > if (hook_err1 && hook_err1->child) > hook_err2 = hook_err1->child; > @@ -672,15 +676,15 @@ svn_repos__post_commit_error_str(svn_err > { > if (err == hook_err1) > { > - if (hook_err2->message) > - msg = apr_pstrdup(pool, hook_err2->message); > - else > - msg = "(no error message)"; > + msg = apr_psprintf(pool, > + "Post-commit hook had error '%s'.", > + hook_err2->message ? hook_err2->message > + : "(no error message)"); > } > else > { > msg = apr_psprintf(pool, > - "Post commit processing had error and '%s' " > + "Post commit processing had error '%s' and " > "post-commit hook had error '%s'.", These messages should be marked for translation? > err->message ? err->message > : "(no error message)", > @@ -690,10 +694,10 @@ svn_repos__post_commit_error_str(svn_err > } > else > { > - if (err->message) > - msg = apr_pstrdup(pool, err->message); > - else > - msg = "(no error message)"; > + msg = apr_psprintf(pool, > + "Post-commit processing had error '%s'.", > + hook_err2->message ? hook_err2->message > + : "(no error message)"); > } > > /* Because svn_error_purge_tracing() was used on the input error, > >