bzrlib.merge do_merge has fragile cleanups

Bug #517275 reported by James Westby
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
Medium
Andrew Bennetts
2.1
Fix Released
Undecided
Andrew Bennetts

Bug Description

Hi,

            self.tt = TreeTransform(self.this_tree, self.pb)
            try:
                self.pp.next_phase()
                self._compute_transform()
                self.pp.next_phase()
                results = self.tt.apply(no_conflicts=True)
                self.write_modified(results)
                try:
                    self.this_tree.add_conflicts(self.cooked_conflicts)
                except UnsupportedOperation:
                    pass
            finally:
                self.tt.finalize()

finalize can raise exceptions (ImmortalPendingDeletion), which can mask
an existing exception. It would be great to at least know what exception
was being masked, or to use bzrlib.cleanup instead of finally.

Thanks,

James

Related branches

Revision history for this message
Andrew Bennetts (spiv) wrote :

Fair enough. I'll submit a branch to use bzrlib.cleanup in merge.py.

Changed in bzr:
assignee: nobody → Andrew Bennetts (spiv)
importance: Undecided → Medium
status: New → Confirmed
Andrew Bennetts (spiv)
Changed in bzr:
status: Confirmed → In Progress
Revision history for this message
Andrew Bennetts (spiv) wrote :

Fixed on the 2.1 branch.

Changed in bzr:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.