Mercurial > evolve
annotate tests/test-single-head-obsolescence-topic-B1.t @ 5788:961a940aef57
divergence-resolution: [patch 3] fix a messed up test case
Because of logic change in divergence resolution which causes the order change
in picking the resolution parent this test case was messed up.
It was supposed to test that it hits merge conflict while merging the
two divergent csets but because of some change in previous patches, we hit
conflict early during relocation of one of the cset.
This patch, by resolving the conflict for relocation make sure that we test
the conflict while merging the two divergent csets.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 24 Jan 2021 20:09:28 +0530 |
parents | fa1324e58fcf |
children | 35e769c9604f 144d10e74757 |
rev | line source |
---|---|
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 ========================================= |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 Testing single head enforcement: Case A-1 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 ========================================= |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
5 A repository is set to only accept a single head per name (typically named |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
6 branch). However, obsolete changesets can make this enforcement more |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
7 complicated, because they can be kept visible by other changeset on other |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
8 branch. |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
9 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
10 This case is part of a series of tests checking this behavior. |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
11 |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
12 Category B: Involving obsolescence and topic |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
13 TestCase 1: A fully obsolete topic kept visible by another one. |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
15 .. old-state: |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 .. |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
17 .. * 2 changeset changeset on topic X |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
18 .. * 2 changeset changeset on topic Y on top of them. |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 .. |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
20 .. new-state: |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
21 .. |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
22 .. * 2 changeset changeset on topic Y at the same location |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
23 .. * 2 changeset changeset on topic X superceeding the other ones |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 .. |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 .. expected-result: |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
26 .. |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
27 .. * only one head detected |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
28 .. |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
29 .. graph-summary: |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
30 .. |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
31 .. D ● (topic-Y) |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 .. | |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
33 .. C ● (topic-Y) |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 .. | |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
35 .. B ø⇠◔ B' (topic-X) |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 .. | | |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
37 .. A ø⇠◔ A' (topic-X) |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 .. |/ |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 .. ● |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
40 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
41 $ . $TESTDIR/testlib/topic_setup.sh |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
42 $ . $TESTDIR/testlib/push-checkheads-util.sh |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
44 Test setup |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
45 ---------- |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
46 |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
47 $ mkdir B1 |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
48 $ cd B1 |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
49 $ setuprepos single-head |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
50 creating basic server and client repo |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
51 updating to branch default |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
52 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
53 $ cd client |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
54 $ hg topic -r . topic-X |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
55 switching to topic topic-X |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
56 changed topic on 1 changesets to "topic-X" |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
57 $ hg strip --config extensions.strip= --hidden 'hidden()' --no-backup # clean old A0 |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
58 $ mkcommit B0 |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
59 $ hg topic topic-Y |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
60 $ mkcommit C0 |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
61 active topic 'topic-Y' grew its first changeset |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
62 (see 'hg help topics' for more information) |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 $ mkcommit D0 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 $ hg push --new-branch |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
65 pushing to $TESTTMP/B1/server |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 searching for changes |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 adding changesets |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 adding manifests |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
69 adding file changes |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
70 added 4 changesets with 3 changes to 4 files (+1 heads) |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
71 1 new obsolescence markers |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
72 obsoleted 1 changesets |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
73 $ hg up 0 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 0 files updated, 0 files merged, 4 files removed, 0 files unresolved |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
75 $ hg topic topic-X |
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
76 marked working directory as topic: topic-X |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 $ mkcommit A1 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 $ mkcommit B1 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"` |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
80 1 new obsolescence markers |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
81 obsoleted 1 changesets |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
82 3 new orphan changesets |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
83 $ hg debugobsolete `getid "desc(B0)" ` `getid "desc(B1)"` |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 1 new obsolescence markers |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
85 obsoleted 1 changesets |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
86 $ hg log -G --hidden |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
87 @ f4ed6717fb66 [default:topic-X] (draft): B1 |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
88 | |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
89 o c1340bef453e [default:topic-X] (draft): A1 |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
90 | |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
91 | * 618812b710f7 [default:topic-Y] (draft): D0 |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
92 | | |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
93 | * d1ad53773db2 [default:topic-Y] (draft): C0 |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
94 | | |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
95 | x 1c1f62b56685 [default:topic-X] (draft): B0 |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
96 | | |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
97 | x 5a47a98cd8e5 [default:topic-X] (draft): A0 |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
98 |/ |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
99 o 1e4be0697311 [default] (public): root |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
100 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
101 |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
102 Actual testing |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
103 -------------- |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
104 |
5228
f560d23639e1
head-checking: ignore obsoleted section when checking head creation locally
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5227
diff
changeset
|
105 $ hg push -r 'desc("B1")' |
5229
fa1324e58fcf
head-checking: also test single head enforcement with topic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5228
diff
changeset
|
106 pushing to $TESTTMP/B1/server |
5227
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
107 searching for changes |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
108 adding changesets |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
109 adding manifests |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
110 adding file changes |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
111 added 2 changesets with 2 changes to 2 files (+1 heads) |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
112 2 new obsolescence markers |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
113 obsoleted 2 changesets |
b20d04641c0f
head-checking: ignore obsolete section when checking for single heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
114 2 new orphan changesets |