clfilter: strip logic should be unfiltered
Strip is a "write" operation that needs to be aware of the whole repo's
content before destroying changesets.
Only the low level function is altered. The top level command will still
process its argument filtered (if any filtering is in place).
--- a/mercurial/repair.py Mon Oct 08 17:08:52 2012 +0200
+++ b/mercurial/repair.py Mon Oct 08 17:12:09 2012 +0200
@@ -56,6 +56,7 @@
return s
def strip(ui, repo, nodelist, backup="all", topic='backup'):
+ repo = repo.unfiltered()
# It simplifies the logic around updating the branchheads cache if we only
# have to consider the effect of the stripped revisions and not revisions
# missing because the cache is out-of-date.