diff -r 88a82069be4a -r 218ec96c45d7 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Dec 12 11:54:22 2011 -0600 +++ b/mercurial/localrepo.py Thu Dec 15 11:57:33 2011 +0100 @@ -1992,8 +1992,12 @@ url=url, pending=p) added = [cl.node(r) for r in xrange(clstart, clend)] - if srctype != 'strip': - phases.advanceboundary(self, 0, added) + if self.ui.configbool('phases', 'publish', True): + if srctype != 'strip': + phases.advanceboundary(self, 0, added) + else: + phases.retractboundary(self, 1, added) + # make changelog see real files again cl.finalize(trp)