phases: set common changeset to public on pull
authorPierre-Yves David <pierre-yves.david@ens-lyon.org>
Fri, 11 Nov 2011 00:22:02 +0100
changeset 15486 1eefa4451c56
parent 15485 fa47291b3f1f
child 15489 25ea33fe7e5c
phases: set common changeset to public on pull
mercurial/localrepo.py
tests/test-phases-exchange.t
--- a/mercurial/localrepo.py	Fri Nov 11 00:21:17 2011 +0100
+++ b/mercurial/localrepo.py	Fri Nov 11 00:22:02 2011 +0100
@@ -1520,6 +1520,7 @@
                     cg = remote.changegroupsubset(fetch, heads, 'pull')
                 result = self.addchangegroup(cg, 'pull', remote.url(),
                                              lock=lock)
+            phases.advanceboundary(self, 0, common)
         finally:
             lock.release()
 
--- a/tests/test-phases-exchange.t	Fri Nov 11 00:21:17 2011 +0100
+++ b/tests/test-phases-exchange.t	Fri Nov 11 00:22:02 2011 +0100
@@ -80,3 +80,33 @@
   1 0 a-B
   0 0 a-A
 
+update must update phase of common changeset too
+
+  $ hg pull ../beta # getting b-A
+  pulling from ../beta
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files (+1 heads)
+  (run 'hg heads' to see heads, 'hg merge' to merge)
+
+  $ cd ../beta
+  $ hgph # not updated by remote pull
+  4 0 a-D
+  3 0 a-C
+  2 1 b-A
+  1 0 a-B
+  0 0 a-A
+  $ hg pull ../alpha
+  pulling from ../alpha
+  searching for changes
+  no changes found
+  $ hgph
+  4 0 a-D
+  3 0 a-C
+  2 0 b-A
+  1 0 a-B
+  0 0 a-A
+
+