Comment 17 for bug 405317

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 405317] Re: Huge Performance regressions in bazaar 1.16 and higher

On Fri, 2009-07-31 at 00:39 +0000, Frits Jalvingh wrote:
> Yes, it was a merge and some of the files were altered during the merge
> (resolve conflicts, fix some layout issues before commiting).
>
> bzr revno: 1364
>
> When you say "multiple parents in the commit" do you mean a merge?
> Because something special in this repo is that it is has been merged
> with an earlier unrelated, separate repository with full history. Which
> cannot be repeated properly because of another bug (bug 364305).

Yes, I do.
So, you're on revno 1364. but there are 7K revisions, and 14K files in
the tree.

I think I know the place to look for the regression. I wager that if you
apply the following patch to your bzr, merge commits will be faster for
you:

=== modified file 'bzrlib/commit.py'
--- bzrlib/commit.py 2009-07-15 05:54:37 +0000
+++ bzrlib/commit.py 2009-07-31 03:53:31 +0000
@@ -287,9 +287,7 @@
         self.use_record_iter_changes = (
             not self.specific_files and
             not self.exclude and
- not self.branch.repository._format.supports_tree_reference and
- (self.branch.repository._format.fast_deltas or
- len(self.parents) < 2))
+ not self.branch.repository._format.supports_tree_reference)
         self.pb = bzrlib.ui.ui_factory.nested_progress_bar()
         self.basis_revid = self.work_tree.last_revision()
         self.basis_tree = self.work_tree.basis_tree()