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
signature.asc
Description: OpenPGP digital signature