You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Giovanni Bajo <ra...@develer.com> on 2006/02/04 17:25:25 UTC

[PATCH, svnmerge] Speed up small merge/avail in large repositories

Hello,

as explained in the commit message, this patch helps speeding up simple
avail-merge operations. Before, if the user requested a merge of a single
revision such as: "svnmerge merge -r1234", svnmerge would still look for
phantom revisions up to HEAD, producing a possibly very slow "svn log" call
and a very complicated property. This is totally unnecessary, and slowed
down operations in the GCC repository too much.

Committed as r18345.

[[[
In avail and merge, trim the range of search for phantom revisions with the
command-line specified revision list. Before this patch, svnmerge was always
trying to look for phantom revisions in head up to HEAD (last revision in
repository), which was too much and slowed down simple operations (like
merging a single revision) too much.

 * contrib/client-side/svnmerge.py:
   (analyze_revs): Avoid calling "snv log" at all if the range is empty.
   (analyze_head_revs): Trim range of "svn log" to range specified on the
   command line.

 * contrib/client-side/svnmerge_test.py:
   (TestCase_TestRepo.testTrimmedAvailMerge): New test.
]]]
-- 
Giovanni Bajo