libsvn_ra_serf has quite possibly the worst error handling logic (illogic?) of
any piece of Subversion code ever. svn_error_t's are generated in multi-various
places, returned in various ways, sometimes *stuffed into the session baton for
future handling!*, and so on. Sometimes these errors are actually handled.
Sometimes not. If you never encounter errors while using the library, it all
works great. But when you do ...
Besides just needing a complete overhaul in its error handling mechanisms, the
library could stand an overhaul of its error *generating* mechanisms. It's
pretty common to see error strings like "OPTIONS request failed to return blah
blah blah" when no OPTIONS request was made in nearby code. (I suspect these
are mostly copy-n-paste-o's.)
This library must not be released as the default as long as it continues to leak
errors as easily as it does.