annotate tests/test-exchange-obsmarkers-case-B1.t @ 33453:f6b7617a85bb

phases: add a 'registernew' method to set new phases This new function will be used by code that adds new changesets. It ajusts the phase boundary to make sure added changesets are at least in their target phase (they end up in an higher phase if their parents are in a higher phase). Having a dedicated function also simplify the phases tracking. All the new nodes are passed as argument, so we know that all of them needs to have their new phase registered. We also know that no other nodes will be affected, so no extra computation are needed. This function differ from 'retractboundary' where some nodes might change phase while some other might not. It can also affect nodes not passed as parameters. These simplification also apply to the computation itself. For now we use '_retractboundary' there by convenience, but we may introduces simpler code later. While registering new revisions, we still need to check the actual phases of the added node because it might be higher than the target phase (eg: target is draft but parent is secret). We will migrate users over the next changesets.
author Boris Feld <boris.feld@octobus.net>
date Tue, 11 Jul 2017 03:47:25 +0200
parents 850a06176d82
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31913
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ============================================
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Testing obsolescence markers push: Cases B.1
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ============================================
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
5 Mercurial pushes obsolescences markers relevant to the "pushed-set", the set of
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
6 all changesets that requested to be "in sync" after the push (even if they are
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
7 already on both side).
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
9 This test belongs to a series of tests checking such set is properly computed
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10 and applied. This does not tests "obsmarkers" discovery capabilities.
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
11
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 Category B: pruning case
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13 TestCase 1: Prune on non-targeted common changeset
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 B.1 Prune on non-targeted common changeset
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 ==========================================
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 .. {{{
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 .. ⊗ B
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 .. |
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 .. ◕ A
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 .. |
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 .. ● O
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 .. }}}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 .. Marker exist from:
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 .. * B (prune)
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 .. Command runs:
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 .. * hg push -r O
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34 .. Expected exclude:
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
36 .. * B (prune)
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 Setup
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39 -----
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41 $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
42
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 Initial
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 $ setuprepos B.1
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 creating test repo for test case B.1
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 - pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 - main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 - pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 cd into `main` and proceed with env setup
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 $ cd main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 $ mkcommit A
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53 $ mkcommit B
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 make both changeset known in remote
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 $ hg push -qf ../pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 $ hg push -qf ../pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
59
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 create prune marker
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 $ hg prune -qd '0 0' .
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
63 $ hg log -G --hidden
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 x f6fbb35d8ac9 (draft): B
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 |
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 @ f5bc6836db60 (draft): A
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 |
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 o a9bdc8b26820 (public): O
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70 $ inspect_obsmarkers
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71 obsstore content
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 ================
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74 $ cd ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 $ cd ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 Actual Test
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 -----------
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 $ dotest B.1 O
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 ## Running testcase B.1
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 # testing echange of "O" (a9bdc8b26820)
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83 ## initial state
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84 # obstore: main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
85 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86 # obstore: pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
87 # obstore: pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88 ## pushing "O" from main to pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
89 pushing to pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
90 searching for changes
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
91 no changes found
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
92 ## post push state
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
93 # obstore: main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
94 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
95 # obstore: pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
96 # obstore: pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
97 ## pulling "a9bdc8b26820" from main into pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
98 pulling from main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
99 no changes found
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
100 ## post pull state
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
101 # obstore: main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
102 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
103 # obstore: pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
104 # obstore: pulldest