This idea is forked from issue #4173.
The general complaint was that, when performing a checkout or any update
operation which is adding new nodes, pre-1.8 ra_serf would turnaround with a
server PROPFIND to fetch the properties on the new nodes. For a checkout, this
meant issuing a PROPFIND per node in the tree. It was suggested that perhaps
the client could issue a Depth:1 PROPFIND for each directory instead, caching
the results on the client-side so that the properties retrieved for immediate
children of the directory wouldn't have to be separately fetched.
Note that, per issue #4173, ra_serf in 1.8 will no longer issue PROPFINDs at all
against a 1.8 server. So this optimization would only make sense when
communicating against and older server.
Note also that this optimization is not without its costs, both in terms of code
complexity and, oddly enough, real inefficiency in situations where the set of
added items is small, but the PROPFINDs needed to fill in the details for those
things are quite large (say, a single added file within a directory that has
hundreds of heavily-propertied sibling files).