--- a/mercurial/commands.py Mon Dec 24 11:57:48 2012 +0100
+++ b/mercurial/commands.py Mon Dec 24 11:58:40 2012 +0100
@@ -4629,9 +4629,12 @@
phases.retractboundary(repo, targetphase, nodes)
finally:
lock.release()
- newdata = repo._phasecache.getphaserevs(repo)
- cl = repo.changelog
+ # moving revision from public to draft may hide them
+ # We have to check result on an unfiltered repository
+ unfi = repo.unfiltered()
+ newdata = repo._phasecache.getphaserevs(unfi)
changes = sum(o != newdata[i] for i, o in enumerate(olddata))
+ cl = unfi.changelog
rejected = [n for n in nodes
if newdata[cl.rev(n)] < targetphase]
if rejected: