# HG changeset patch # User Pierre-Yves David # Date 2015-07-31 22:46:49 # Node ID 5d0e1e95e30fe6001fc2802dfa9c6b989aca937e # Parent 80149d0b6842713b8fdebf34404fc3520306c7a2 histedit: make cleanupnode more robust The goal of this function is to strip content out of the repository. We do not really care if this content is visible or cleanup node not and we should proceed anyway. None of the internal actions are subject to this, however, a third party extension running arbitrary commands during histedit is affected by this. diff --git a/hgext/histedit.py b/hgext/histedit.py --- a/hgext/histedit.py +++ b/hgext/histedit.py @@ -1132,6 +1132,10 @@ def cleanupnode(ui, repo, name, nodes): lock = None try: lock = repo.lock() + # do not let filtering get in the way of the cleanse + # we should probably get ride of obsolescence marker created during the + # histedit, but we currently do not have such information. + repo = repo.unfiltered() # Find all node that need to be stripped # (we hg %lr instead of %ln to silently ignore unknown item nm = repo.changelog.nodemap