[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Distignuishing files and directories in changed paths report.

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2004-11-30 17:48:35 CET

On Nov 30, 2004, at 10:21 AM, Mark Phippard wrote:

> Marcus Rueckert <darix@web.de> wrote on 11/30/2004 11:12:38 AM:
>
>> On 2004-11-30 09:15:49 -0500, Mark Phippard wrote:
>>> Thanks. One question. I seem to recall that the reason people ask
>>> to
> see
>>> a slash after folder names is that is the way that svnlook outputs it
> and
>>> it is useful to know. So why is svnlook able to display this
> information
>>> without a performance problem?
>>
>> afaik svnlook works directly on the repository and can access all
>> flags
>> of an entry very fast.
>>
>
> But there is an implication in the bug ID, that a schema change is
> needed
> to make this fast. mod_dav_svn and svnserve are accessing the
> repository
> files directly as well.
>

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.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 30 17:50:00 2004

This is an archived mail posted to the Subversion Dev mailing list.