Stop using svn_error__locate in the public ABI. We can't delete it from the ABI, but we can at least do this much.
* subversion/include/svn_error.h (svn_error__locate): Move this prototype, and the four macros that call it, into an #ifdef SVN_DEBUG section. No public API change. * subversion/libsvn_subr/error.c (error_file, error_line): Move to an #ifdef SVN_DEBUG section. (svn_error__locate): Do nothing unless SVN_DEBUG. (make_error_internal): Only set ->file and ->line if SVN_DEBUG. As svn_types.h says, these are "Only used iff @c SVN_DEBUG."
Make semantics of svn_error_purge_tracing() and svn_repos__post_commit_error_str() easier to work with. Now, both do not modify the input error chain and svn_error_purge_tracing() returns a new chain instead of modifying the input chain.
* subversion/include/private/svn_repos_private.h (svn_repos__validate_prop): Document that this does not modify the input error.
* subversion/include/svn_error.h (svn_error_purge_tracing): Document that the input chain is not modified and should be the chain that is cleared, not the returned chain.
* subversion/libsvn_repos/commit.c (svn_repos__post_commit_error_str): No longer clear the input error chain. (clear): Clear the error after calling svn_repos__post_commit_error_str().
* subversion/libsvn_subr/error.c (svn_error_purge_tracing): Reimplement to match the documented behavior.
* subversion/mod_dav_svn/deadprops.c (save_value): Now that the error passed to svn_error_purge_tracing() should be cleared instead of the returned error, use another variable to hold the purged chain.
* subversion/mod_dav_svn/util.c (dav_svn__convert_err): Now that the error passed to svn_error_purge_tracing() should be cleared instead of the returned error, use another variable to hold the purged chain.
* subversion/mod_dav_svn/version.c (dav_svn__checkin), (merge): Clear the error after calling svn_repos__post_commit_error_str().
* subversion/tests/libsvn_subr/error-test.c (test_error_purge_tracing): Update to use the new line number that svn_error_purge_tracing() calls SVN_ERR_ASSERT(err).