'bzr uncommit' could use a update_basis_by_delta

Bug #780544 reported by John A Meinel on 2011-05-10
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Medium
John A Meinel

Bug Description

Uncommit currently always calls "tree.set_parent_ids(new_parents)". If it was a reasonably simple uncommit (single revision no extra parents to single revision no extra parents) we could certainly use tree.update_basis_by_delta. This should be considerably faster since we don't need to compute the complete parent inventory, just the delta.

In the case of extra parents, things get trickier, so it is probably ok.

Though I wonder if we could still update the basis revision using a delta, and then bring in the merge parents afterwards.

We are currently ~15s to uncommit a tree with 70k files. But we can apply a delta in <5s.

Another way to look at it. uncommit should be at least as fast as commit.

Related branches

John A Meinel (jameinel) on 2011-05-10
Changed in bzr:
assignee: nobody → John A Meinel (jameinel)
milestone: none → 2.4b3
status: Confirmed → In Progress
John A Meinel (jameinel) on 2011-05-20
Changed in bzr:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers