# HG changeset patch # User Durham Goode # Date 2015-02-18 03:59:26 # Node ID a2d869e22b5e14da6ef6f0d1aaa332e4ba149ede # Parent 03f692eee31d736ef97e82f37e88b3356dd9f918 histedit: don't recreate state object Previously, the histedit state object was being recreated during continue/abort. This meant that the locks that were held on the original state object were not available to actions, which meant actions could not release the lock on the repository (like an 'exec' action would need to do). This affected our internal extension that added the 'exec' action. diff --git a/hgext/histedit.py b/hgext/histedit.py --- a/hgext/histedit.py +++ b/hgext/histedit.py @@ -599,11 +599,9 @@ def _histedit(ui, repo, state, *freeargs # rebuild state if goal == 'continue': - state = histeditstate(repo) state.read() state = bootstrapcontinue(ui, state, opts) elif goal == 'abort': - state = histeditstate(repo) state.read() mapping, tmpnodes, leafs, _ntm = processreplacement(state) ui.debug('restore wc to old parent %s\n' % node.short(state.topmost))