annotate tests/test-push-checkheads-pruned-B8.t @ 32225:c68c400d0a2d

perf: move gettimer() call This is more consistent with other perf* functions.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 06 May 2017 11:01:02 -0700
parents 605c38105950
children 53b3a1968aa6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32015
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ====================================
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Testing head checking code: Case B-2
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ====================================
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
5 Mercurial checks for the introduction of new heads on push. Evolution comes
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
6 into play to detect if existing branches on the server are being replaced by
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
7 some of the new one we push.
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
9 This case is part of a series of tests checking this behavior.
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
11 Category B: simple case involving pruned changesets
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 TestCase 2: multi-changeset branch, head is pruned, rest is superceeded, through other
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 .. old-state:
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 ..
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 .. * 2 changeset branch
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17 ..
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 .. new-state:
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 ..
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 .. * old head is rewritten then pruned
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 .. * 1 new branch succeeding to the other changeset in the old branch (through another obsolete branch)
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 ..
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 .. expected-result:
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 ..
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 .. * push allowed
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 ..
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 .. graph-summary:
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 ..
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 .. B ø⇠⊗ B'
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 .. | | A'
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 .. A ø⇠ø⇠◔ A''
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 .. |/ /
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 .. | /
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34 .. |/
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35 .. ●
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
36
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37 $ . $TESTDIR/testlib/push-checkheads-util.sh
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39 Test setup
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40 ----------
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
42 $ mkdir B8
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 $ cd B8
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44 $ setuprepos
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 creating basic server and client repo
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 updating to branch default
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 $ cd server
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 $ mkcommit B0
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 $ cd ../client
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 $ hg pull
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 pulling from $TESTTMP/B8/server (glob)
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53 searching for changes
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54 adding changesets
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 adding manifests
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56 adding file changes
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 added 1 changesets with 1 changes to 1 files
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 (run 'hg update' to get a working copy)
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
59 $ hg up 0
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61 $ mkcommit A1
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 created new head
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
63 $ mkcommit B1
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 $ hg up 0
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 $ mkcommit A2
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 created new head
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69 $ hg debugobsolete `getid "desc(B0)" ` `getid "desc(B1)"`
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70 $ hg debugobsolete --record-parents `getid "desc(B1)"`
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71 $ hg debugobsolete `getid "desc(A1)" ` `getid "desc(A2)"`
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 $ hg log -G --hidden
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 @ c1f8d089020f (draft): A2
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74 |
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 | x 262c8c798096 (draft): B1
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76 | |
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 | x f6082bc4ffef (draft): A1
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 |/
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79 | x d73caddc5533 (draft): B0
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 | |
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 | x 8aaa48160adc (draft): A0
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 |/
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83 o 1e4be0697311 (public): root
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
85
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86 Actual testing
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
87 --------------
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
89 $ hg push
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
90 pushing to $TESTTMP/B8/server (glob)
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
91 searching for changes
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
92 adding changesets
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
93 adding manifests
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
94 adding file changes
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
95 added 1 changesets with 1 changes to 1 files (+1 heads)
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
96 4 new obsolescence markers
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
97
605c38105950 obsolescence: add test for the "branch replacement" logic during push, case B8
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
98 $ cd ../..