Peter Harris <phar...@opentext.com> writes: > https://subversion.apache.org/reporting-issues.html directed me to > report issues to this mailing list. > > With svn 1.8.x (tested 1.8.3 and 1.8.5), "svn log" is very slow against > older svnserve (tested 1.4.6) when specifying any path other than the > root of the repository. > > eg. > > $ time svn log -l1 svn://host/repo > /dev/null > > real 0m0.039s > user 0m0.008s > sys 0m0.011s > > $ time svn log -l1 svn://host/repo/trunk > /dev/null > > real 5m55.153s > user 0m0.670s > sys 0m0.197s > > > This is a repository with about 35k revisions. From a glance at > wireshark, it appears as though the svn client is downloading the > complete log history before printing out any log messages. > > Older svn clients do not have this issue (tested 1.6.17 and 1.7)
I can reproduce this. The svn_client_log6 function is using svn_ra_get_location_segments before calling svn_ra_get_log3 when asked for log on paths other than the repository root. There is no server side support for get-location-segments on older serves and svn_ra_get_location_segments falls back to deriving it from the whole repository log. This means that the client log implementation gets the whole repository log before making a second log request for the partial log that is required. -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*