[PATCH 5 of 5 REVIEW] phases: set common changeset to public on pull

pierre-yves.david at logilab.fr pierre-yves.david at logilab.fr
Wed Oct 19 05:27:23 CDT 2011


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1319019990 -7200
# Node ID cb97415955fa5c95e6cdca5ee2686225c13a2587
# Parent  1628f433553660bf9e4d01ed4adb6dd5d31dfb30
phases: set common changeset to public on pull

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1498,10 +1498,11 @@ class localrepository(repo.repository):
                                            "changegroupsubset."))
                 else:
                     cg = remote.changegroupsubset(fetch, heads, 'pull')
                 result = self.addchangegroup(cg, 'pull', remote.url(),
                                              lock=lock)
+            phases.moveboundary(self, 0, common)
         finally:
             lock.release()
 
         return result
 
diff --git a/tests/test-phases-exchange.t b/tests/test-phases-exchange.t
--- a/tests/test-phases-exchange.t
+++ b/tests/test-phases-exchange.t
@@ -78,5 +78,35 @@ push from alpha to beta should update ph
   3 0 a-D
   2 0 a-C
   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
+
+


More information about the Mercurial-devel mailing list