On 04/20/2013 05:00 AM, Bert Huijben wrote:
> Instead of patching more and more corner cases with individual extra ra
> calls I think svn_client_log should call svn_client__repos_locations()
> once to obtain the history of the path to look at over the entire range
> of versions. (=over MAX(rev):MIN(rev)) and then use that information
> directly as the paths for the rest of the log calls.

Agreed.  Was thinking exactly the same thing.

I wonder, though:  isn't this rev-range support better situated in the RA
layer itself, extended up to the server?  I ask because IIRC, the fallback
implementation of svn_ra_get_repos_locations() uses none other than the
'log' functionality.

So I see this:

  BEST CASE:  client's RA layer and server can handle log-with-ranges

  FALLBACK 1:  client RA layer works around server's lack of log-with-ranges
      support by using get_locations() and a series of log requests

  FALLBACK 2:  client RA layer works around server's lack of log-with-ranges
      support and lack of get_locations support by using a single
      log request from which disinteresting revisions are merely filtered
      out.


-- 
C. Michael Pilato <cmpil...@collab.net>
CollabNet   <>   www.collab.net   <>   Enterprise Cloud Development

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to