diff --git a/hgext/histedit.py b/hgext/histedit.py --- a/hgext/histedit.py +++ b/hgext/histedit.py @@ -1030,8 +1030,9 @@ def stripwrapper(orig, ui, repo, nodelis if os.path.exists(os.path.join(repo.path, 'histedit-state')): state = histeditstate(repo) state.read() - histedit_nodes = set([ctx for (action, ctx) in state.rules]) - strip_nodes = set([repo[n].hex() for n in nodelist]) + histedit_nodes = set([repo[rulehash].node() for (action, rulehash) + in state.rules if rulehash in repo]) + strip_nodes = set([repo[n].node() for n in nodelist]) common_nodes = histedit_nodes & strip_nodes if common_nodes: raise util.Abort(_("histedit in progress, can't strip %s") diff --git a/tests/test-histedit-edit.t b/tests/test-histedit-edit.t --- a/tests/test-histedit-edit.t +++ b/tests/test-histedit-edit.t @@ -87,8 +87,8 @@ Go at a random point and try to continue [255] Try to delete necessary commit - $ hg strip -r 652413bf663e - abort: histedit in progress, can't strip 363532343133 + $ hg strip -r 652413b + abort: histedit in progress, can't strip 652413bf663e [255] commit, then edit the revision