[Svnmerge] [PATCH] Bidirectional merging patch for svnmerge.py
Giovanni Bajo
rasky at develer.com
Wed Feb 22 01:21:26 PST 2006
Blair Zajac <blair at orcaware.com> wrote:
>> Here's a modified version of Raman's original work. This also includes
the
>> patch I sent in earlier today.
I'll have that committed in a separate step later today.
>> Here's some timing tests:
>>
>> Old method New method
>> CPU time 16.99 sec 10.14 sec
>> Clock time 1:09.80 sec 33.97 sec
>>
>> This logic reduced the number of revisions to check for reflected merges
>> from 96 to 30.
>> Much better.
Good. many thanks for the numbers. How does that compare with no --bidi at
all?
>> I noticed that there's duplicate requests to the server for log messages,
>> once for the list of revisions that have modified the source merge
directory,
>> and once for the the revisions that have changed. This can be done in a
>> separate commit.
Sure.
>> + # Running svn log with the --quiet and the --verbose options
>> + # prints all the paths to files and directory added, modified or
>> + # deleted in the commit without the log message.
>> + lines = launchsvn('log --quiet --verbose -r%s:%s "%s"' % (begin,
end,
>> url))
I'd rather use --verbose only if bidi is active. I'm sure there is a penalty
which is otherwise unnecessary.
>> + # Check to see if the revisions list changed for the
>> specific
>> + # target branch involved -- if it has then it is
>> a reflected
>> + # revision
I thought about this. I believe the best solution is to extract the full
property value (old and new) with a regular expression, and then pass it to
a new function extracted from get_revlist_prop(). I believe we should have a
single routine which knows how to analyze and parse the property.
--
Giovanni Bajo
More information about the Svnmerge
mailing list