When svnserve forwards an error to the client, the entire error chain (including
error codes and file/line numbers) is preserved. However, when mod_dav_svn
forwards an error to the client, only the error message (and possibly the
top-most error code?) are preserved, but nothing else is.
This was problematic on two ocassions: for the atomic-revprops work [1], where
it was eventually worked around by using a specific HTTP error code to signal
the specific error condition [2], and for properly distinguishing post-commit FS
errors and post-commit hook errors for report to the client [3] (which is an
ongoing thread).
This issue calls for extending the ra_dav protocol to preserve complete error
chains from server to client.
[1] http://mid.gmane.org/20100809205049.GA28616@daniel3.local
[2]
http://mid.gmane.org/4B6F0239C13D0245820603C036D180BCBAB3D3@CABOTUKEXCH01.cabot.local
[3] http://mid.gmane.org/20101221184002.GA8194@daniel3.local
http://mid.gmane.org/20100809205049.GA28616@daniel3.local