'bzr uncommit' could use a update_basis_by_delta
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
John A Meinel |
Bug Description
Uncommit currently always calls "tree.set_
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
- Jelmer Vernooij (community): Approve (code)
- Andrew Bennetts: Pending requested
-
Diff: 1476 lines (+906/-199)7 files modifiedbzrlib/dirstate.py (+214/-132)
bzrlib/tests/test_dirstate.py (+446/-0)
bzrlib/tests/test_inv.py (+137/-57)
bzrlib/tests/test_workingtree_4.py (+62/-0)
bzrlib/workingtree_4.py (+23/-1)
doc/en/release-notes/bzr-2.4.txt (+4/-0)
doc/en/whats-new/whats-new-in-2.4.txt (+20/-9)
Changed in bzr: | |
assignee: | nobody → John A Meinel (jameinel) |
milestone: | none → 2.4b3 |
status: | Confirmed → In Progress |
Changed in bzr: | |
status: | In Progress → Fix Released |