mercurial/commands.py
changeset 18210 f730ed2e093d
parent 18209 6a91cbb67907
child 18254 2dfe519d435d
--- 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: