# HG changeset patch # User Eric Sumner # Date 1418934163 28800 # Node ID e7fcf58acd7145e97783bcef5af0c7b0abc35d07 # Parent b8260abfeb7d3cf39a132d8f32777e51dbd7113f bundlerepo: retract phase boundary This patch makes bundrepo retract the phase boundary for new commits to 'draft' status, which is consistent with the behavior of 'hg unbundle'. The old behavior was for commits to appear with the same phase as their nearest ancestor in the base repository. This affects several classes of operation: * Inspecting a bundle with the -B flag * Treating a bundle file as a peer (old: everything public, new: everything draft) * Incoming command (neither old or new behavior is sensible -- fixed in next patch) diff -r b8260abfeb7d -r e7fcf58acd71 mercurial/bundlerepo.py --- a/mercurial/bundlerepo.py Thu Dec 18 11:38:48 2014 -0800 +++ b/mercurial/bundlerepo.py Thu Dec 18 12:22:43 2014 -0800 @@ -242,6 +242,10 @@ # dict with the mapping 'filename' -> position in the bundle self.bundlefilespos = {} + self.firstnewrev = self.changelog.repotiprev + 1 + phases.retractboundary(self, None, phases.draft, + [ctx.node() for ctx in self[self.firstnewrev:]]) + @localrepo.unfilteredpropertycache def _phasecache(self): return bundlephasecache(self, self._phasedefaults) diff -r b8260abfeb7d -r e7fcf58acd71 tests/test-bundle.t --- a/tests/test-bundle.t Thu Dec 18 11:38:48 2014 -0800 +++ b/tests/test-bundle.t Thu Dec 18 12:22:43 2014 -0800 @@ -268,51 +268,60 @@ Log -R full.hg in partial - $ hg -R bundle://../full.hg log + $ hg -R bundle://../full.hg log -T phases changeset: 8:aa35859c02ea tag: tip + phase: draft parent: 3:eebf5a27f8ca user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 0.3m changeset: 7:a6a34bfa0076 + phase: draft user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 1.3m changeset: 6:7373c1169842 + phase: draft user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 1.3 changeset: 5:1bb50a9436a7 + phase: draft user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 1.2 changeset: 4:095197eb4973 + phase: draft parent: 0:f9ee2f85a263 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 1.1 changeset: 3:eebf5a27f8ca + phase: public user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 0.3 changeset: 2:e38ba6f5b7e0 + phase: public user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 0.2 changeset: 1:34c2bf6b0626 + phase: public user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 0.1 changeset: 0:f9ee2f85a263 + phase: public user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: 0.0 diff -r b8260abfeb7d -r e7fcf58acd71 tests/test-keyword.t --- a/tests/test-keyword.t Thu Dec 18 11:38:48 2014 -0800 +++ b/tests/test-keyword.t Thu Dec 18 12:22:43 2014 -0800 @@ -585,10 +585,8 @@ Commit and show expansion in original and copy $ hg --debug commit -ma2c -d '1 0' -u 'User Name ' - invalid branchheads cache (served): tip differs c c: copy a:0045e12f6c5791aac80ca6cbfd97709a88307292 - invalid branchheads cache (served): tip differs overwriting c expanding keywords committed changeset 2:25736cf2f5cbe41f6be4e6784ef6ecf9f3bbcc7d $ cat a c @@ -757,22 +755,8 @@ Commit with multi-line message and custom expansion -|Note: -| -| After the last rollback, the "served" branchheads cache became invalid, but -| all changesets in the repo were public. For filtering this means: -| "immutable" == "served" == ΓΈ. -| -| As the "served" cache is invalid, we fall back to the "immutable" cache. But -| no update is needed between "immutable" and "served" and the "served" cache -| is not updated on disk. The on-disk version therefore stays invalid for some -| time. This explains why the "served" branchheads cache is detected as -| invalid here. - $ hg --debug commit -l log -d '2 0' -u 'User Name ' - invalid branchheads cache (served): tip differs a - invalid branchheads cache (served): tip differs overwriting a expanding keywords committed changeset 2:bb948857c743469b22bbf51f7ec8112279ca5d83 $ rm log diff -r b8260abfeb7d -r e7fcf58acd71 tests/test-obsolete.t --- a/tests/test-obsolete.t Thu Dec 18 11:38:48 2014 -0800 +++ b/tests/test-obsolete.t Thu Dec 18 12:22:43 2014 -0800 @@ -702,7 +702,7 @@ $ hg incoming http://localhost:$HGPORT comparing with http://localhost:$HGPORT/ searching for changes - 1:3816541e5485 (public) [tip ] A + 1:3816541e5485 (draft) [tip ] A $ hg outgoing http://localhost:$HGPORT comparing with http://localhost:$HGPORT/ searching for changes diff -r b8260abfeb7d -r e7fcf58acd71 tests/test-rebase-conflicts.t --- a/tests/test-rebase-conflicts.t Thu Dec 18 11:38:48 2014 -0800 +++ b/tests/test-rebase-conflicts.t Thu Dec 18 12:22:43 2014 -0800 @@ -143,7 +143,6 @@ updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd issue4041 - $ hg phase --draft --force 9 $ hg log -G o changeset: 10:2f2496ddf49d |\ branch: f1 @@ -316,7 +315,6 @@ adding f1.txt revisions files: 1/1 chunks (100.00%) added 2 changesets with 2 changes to 1 files - removing unknown node e31216eec445 from 1-phase boundary invalid branchheads cache (served): tip differs rebase completed updating the branch cache