mercurial/localrepo.py
changeset 15659 7fba5a245acc
parent 15651 e69a3cdad37e
child 15706 ebaefd8c6028
--- a/mercurial/localrepo.py	Thu Dec 15 15:27:11 2011 -0600
+++ b/mercurial/localrepo.py	Thu Dec 15 23:08:09 2011 +0100
@@ -2045,10 +2045,12 @@
                           url=url, pending=p)
 
             added = [cl.node(r) for r in xrange(clstart, clend)]
-            if self.ui.configbool('phases', 'publish', True):
-                if srctype != 'strip':
-                    phases.advanceboundary(self, 0, added)
-            else:
+            publishing = self.ui.configbool('phases', 'publish', True)
+            if publishing and srctype == 'push':
+                # Old server can not push the boundary themself.
+                # This clause ensure pushed changeset are alway marked as public
+                phases.advanceboundary(self, 0, added)
+            elif srctype != 'strip': # strip should not touch boundary at all
                 phases.retractboundary(self, 1, added)
 
             # make changelog see real files again