> -----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