Some ra_svn operations don't report errors to the client. Instead,
the errors cause the server process to exit, and the client sees a cryptic
svn: Connection closed unexpectedly
Here are the offenders:
* update, switch, status, and diff, at the point where the client
finishes the report and the server begins driving an editor. This is
a tricky case, and I don't immediately know how to fix it. An error
from svn_repos_finish_report can happen either before or after editor
operations have begun, so it's hard to know what state the protocol is in.
* commit, where it calls svn_repos_checkout. Again, it is hard to
know what state the protocol is in when that function returns an error.
* get-file and log, while they are streaming file or directory
contents to the client. This is a simple enough matter of sending
each part of the stream in a command-response instead of as a bare
string or tuple.