By the way, I've filed issue #3220 to track improvements to 'svn log -g'
performance.
C. Michael Pilato wrote:
> Leonardo Fernandes wrote:
>> Hi.
>> I just wanted to know why log -g operations are much slower than normal
>> log, even when the revisions don't have any merge-info change?
>
> I suspect this is just the overhead of checking -- for each revision --
> whether or not the revision has a mergeinfo change. This penalty is
> small where no mergeinfo exists at all, but gets larger once mergeinfo
> appears in the repository (and grows depending on the depth,
> directory-wise, of the places where mergeinfo is set).
>
> (Is that right, David?)
>
> I think we could improve this by changing the way we detect these
> differences. Today, we do so by fetching all the mergeinfo in one
> revision, then all the mergeinfo in another revision, and then comparing
> them. We'd probably be better served by adding an
> svn_fs_mergeinfo_diff() function that could avoid crawling into
> unchanged regions of the respective revision trees to even find
> mergeinfo (since the mergeinfo found in both subtrees would be
> identical, and thus not present in a diff of the two anyway).
>
>
--
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2008-06-17 16:59:17 CEST