ra_dav is making too many requests to the server. Typically, this is
in the form of too many PROPFIND requests.
Specific examples:
* when adding a file, we do a PROPFIND to ensure that it doesn't
already exist. We should skip the PROPFIND and just do the PUT, but
use an 'If-None-Match: *' header to reject the PUT if something
already exists.
* 'svn cat' executes the triple PROPFIND (from public URL to VCC to
baseline to fetching some props) *four* times. That is: 12 PROPFIND
requests. Even worse, it does this even for 'svn cat' when
(presumably) run against the "head", which means it should have just
stuck with the public url.
* (iirc; I haven't checked this one in a long while, but presume it is
still there) during a fetch, we PROPFIND on the directory to get its
props and the props of all the files in it. But we do per-file
PROPFINDs *again* as we're getting the files. We should have already
had a hash of resources whcih contains the props -- no need to fetch
again.
* during a commit, we do PROPFINDs to get the version url of the
directories so we can do a CHECKOUT on them (cuz we're adding or
deleting resources in it). however, the WC already *has* that version
url, but won't give it to us in the getprop callback. thus, the commit
editor has to get the url from the server.
These are just the ones that I know. A number of different types of
operations should be performed, and a review of Apache's access_log
can be done to see what the client actually requested for each operation.