Ben Collins-Sussman <sussman@collab.net> wrote on 11/30/2004 11:48:35 AM:
> Have you run 'svnlook changed' on a revision with 3000 added files?
> It's much slower than a server sending 'svn log -v' data on the same
> revision. That's because instead of merely reading the list of
> changed-paths, svnlook is doing an extra libsvn_fs stat on each path to
> determine whether it's a file or dir.
>
> 'svnlook changed' isn't typically run in a loop over thousands of
> revisions; it's typically run on a single revision at a time. So you
> never notice the speed hit. 'svn log -v' is almost always run over
> thousands of revisions. The speed hit would be very noticeable.
>
> In fact, this is similar to exactly what happened in the 1.0.9 security
> fix: mod_dav_svn is now doing authz-checks on every changed-path in
> every revision returned by 'svn log'. It makes the log command at
> least 2x slower, and there have been complaints about it. Statting all
> the changed-paths would be similar, and probably make 'svn log' even
> worse.
Once again, thanks for the detailed explanation. I know you guys hate
adding command complexity, but why couldn't this be implemented with a new
switch on svn log? In my case, when I want this information, I am only
running svn log on a single revision and would not mind the performance
hit.
I cannot remember why I did not use svnlook. I think it is because I
wanted, or at least preferred, getting the output in XML.
Mark
_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. by IBM Email Security Management Services powered by MessageLabs.
_____________________________________________________________________________
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 30 18:27:00 2004