Currently, svn_ra_dav__get_file() will just push svndiff
data at its output stream, if the ra session was created
with a base_dir (in other words, the top of a tree in
which base texts can be found).
See comment in libsvn_client/switch.c:svn_client_switch(),
near the bottom of the function, which currently says
/* ### FIXME: we shouldn't be passing a NULL base-dir to
open_ra_session. This is a just a way of forcing the server
to send a fulltext instead of svndiff data against something
in our working copy. We need to add a callback to
open_ra_session that will fetch a 'source' stream from the
WC, so that ra_dav's implementation of get_file() can use the
svndiff data to construct a fulltext. */
Note also that svn_client_diff has to do the same trick (pass
NULL instead of a base_dir), and it should be tweaked as
soon as we finish the solution described in the above comment.