annotate tests/test-single-head-obsolescence-topic-B1.t @ 6909:701d4bb5d53c mercurial-6.1

test-compat: merge mercurial-6.2 into mercurial-6.1
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 24 Oct 2024 21:41:52 +0400
parents 1eb543272657
children b1d010b2e6c4 9da0114a8a02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 =========================================
6080
8cc7732a29bf tests: fix copypaste errors in single-head-obsolescence tests
Anton Shestakov <av6@dwimlabs.net>
parents: 6034
diff changeset
2 Testing single head enforcement: Case B-1
5227
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
6080
8cc7732a29bf tests: fix copypaste errors in single-head-obsolescence tests
Anton Shestakov <av6@dwimlabs.net>
parents: 6034
diff changeset
12 Category B: Involving obsolescence with topic
5229
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 ..
6080
8cc7732a29bf tests: fix copypaste errors in single-head-obsolescence tests
Anton Shestakov <av6@dwimlabs.net>
parents: 6034
diff changeset
17 .. * 2 changesets on topic X
8cc7732a29bf tests: fix copypaste errors in single-head-obsolescence tests
Anton Shestakov <av6@dwimlabs.net>
parents: 6034
diff changeset
18 .. * 2 changesets 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 ..
6080
8cc7732a29bf tests: fix copypaste errors in single-head-obsolescence tests
Anton Shestakov <av6@dwimlabs.net>
parents: 6034
diff changeset
22 .. * 2 changesets on topic Y at the same location
8cc7732a29bf tests: fix copypaste errors in single-head-obsolescence tests
Anton Shestakov <av6@dwimlabs.net>
parents: 6034
diff changeset
23 .. * 2 changesets on topic X superseding 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
6080
8cc7732a29bf tests: fix copypaste errors in single-head-obsolescence tests
Anton Shestakov <av6@dwimlabs.net>
parents: 6034
diff changeset
79 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(A1)"`
5227
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
6080
8cc7732a29bf tests: fix copypaste errors in single-head-obsolescence tests
Anton Shestakov <av6@dwimlabs.net>
parents: 6034
diff changeset
83 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(B1)"`
5227
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
6267
1eb543272657 topic: switch to the short fqbn format by default
Anton Shestakov <av6@dwimlabs.net>
parents: 6260
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 |
6267
1eb543272657 topic: switch to the short fqbn format by default
Anton Shestakov <av6@dwimlabs.net>
parents: 6260
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 |
6267
1eb543272657 topic: switch to the short fqbn format by default
Anton Shestakov <av6@dwimlabs.net>
parents: 6260
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 | |
6267
1eb543272657 topic: switch to the short fqbn format by default
Anton Shestakov <av6@dwimlabs.net>
parents: 6260
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 | |
6267
1eb543272657 topic: switch to the short fqbn format by default
Anton Shestakov <av6@dwimlabs.net>
parents: 6260
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 | |
6267
1eb543272657 topic: switch to the short fqbn format by default
Anton Shestakov <av6@dwimlabs.net>
parents: 6260
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