> -----Original Message-----
> From: pbu...@apache.org [mailto:pbu...@apache.org]
> Sent: vrijdag 19 april 2013 20:22
> To: comm...@subversion.apache.org
> Subject: svn commit: r1469982 - in /subversion/trunk/subversion:
> include/private/svn_client_private.h libsvn_client/log.c libsvn_client/ra.c
> tests/cmdline/log_tests.py
> 
> Author: pburba
> Date: Fri Apr 19 18:21:36 2013
> New Revision: 1469982
> 
> URL: http://svn.apache.org/r1469982
> Log:
> 2nd attempt to fix issue #4355 'svn_client_log5 broken with multiple
> revisions which span a rename'.

        Hi,

This patch and the few before extend svn_client_log to call more and more 
history operations on the same path.

(The path resolving via svn_client__repos_locations() is on the file system 
layer essentially the same thing as walking the history on the filesystem 
layer.)

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.

libsvn_client's log operation is already a very slow operation over high 
latency links with mod_dav and this patching with extra ra requests is making 
it worse and worse. Performing this operation once should improve the log 
performance considerable, making the multi range version much better for script 
and api users.

        Bert

Reply via email to