/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzr_commit_handler.py

Faster post-processing of the inventory delta

Show diffs side-by-side

added added

removed removed

Lines of Context:
651
651
 
652
652
    def _get_proposed_inventory(self, delta):
653
653
        if len(self.parents):
654
 
            new_inv = self.basis_inventory._get_mutable_inventory()
 
654
            # new_inv = self.basis_inventory._get_mutable_inventory()
 
655
            # Note that this will create unreferenced chk pages if we end up
 
656
            # deleting entries, because this 'test' inventory won't end up
 
657
            # used. However, it is cheaper than having to create a full copy of
 
658
            # the inventory for every commit.
 
659
            new_inv = self.basis_inventory.create_by_apply_delta(delta,
 
660
                'not-a-valid-revision-id:')
655
661
        else:
656
662
            new_inv = inventory.Inventory(revision_id=self.revision_id)
657
663
            # This is set in the delta so remove it to prevent a duplicate
658
664
            del new_inv[inventory.ROOT_ID]
659
 
        try:
660
 
            new_inv.apply_delta(delta)
661
 
        except errors.InconsistentDelta:
662
 
            self.mutter("INCONSISTENT DELTA IS:\n%s" % "\n".join([str(de) for de in delta]))
663
 
            raise
 
665
            try:
 
666
                new_inv.apply_delta(delta)
 
667
            except errors.InconsistentDelta:
 
668
                self.mutter("INCONSISTENT DELTA IS:\n%s" % "\n".join([str(de) for de in delta]))
 
669
                raise
664
670
        return new_inv
665
671
 
666
672
    def _add_entry(self, entry):