blair_at_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,
>
>
Received on 2010-12-22 19:35:06 CET