annotate tests/test-push-checkheads-partial-C4.t @ 32212:65cd7e705ff6

policy: eliminate ".pure." from module name only if marked as dual So we can switch cext/pure modules to new layout one by one.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 13 Aug 2016 17:21:58 +0900
parents 7906cdb64895
children b11e8c67fb0f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31985
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ====================================
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Testing head checking code: Case C-4
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ====================================
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
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
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
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
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
7 some of the new one we push.
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
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.
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
11 Category C: case were the branch is only partially obsoleted
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 TestCase 4: 2 changeset branch, only the base is pruned
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 .. old-state:
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 ..
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 .. * 2 changeset branch
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17 ..
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 .. new-state:
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 ..
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 .. * old base is pruned
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 .. * 1 new unrelated branch
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 ..
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 .. expected-result:
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 ..
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 .. * push denied
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 ..
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 .. graph-summary:
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 ..
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 .. B ◔
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 .. |
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 .. A ⊗ ◔ C
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 .. |/
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 .. ●
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35 $ . $TESTDIR/testlib/push-checkheads-util.sh
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
36
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37 Test setup
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 ----------
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40 $ mkdir C4
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41 $ cd C4
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
42 $ setuprepos
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 creating basic server and client repo
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44 updating to branch default
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 $ cd server
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 $ mkcommit B0
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 $ cd ../client
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 $ hg pull
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 pulling from $TESTTMP/C4/server (glob)
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 searching for changes
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 adding changesets
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53 adding manifests
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54 adding file changes
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 added 1 changesets with 1 changes to 1 files
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56 (run 'hg update' to get a working copy)
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 $ hg up 0
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
59 $ mkcommit C0
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 created new head
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61 $ hg debugobsolete --record-parents `getid "desc(A0)"`
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 $ hg log -G --hidden
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
63 @ 0f88766e02d6 (draft): C0
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 |
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 | o d73caddc5533 (draft): B0
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 | |
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 | x 8aaa48160adc (draft): A0
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 |/
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69 o 1e4be0697311 (public): root
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 Actual testing
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 --------------
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 $ hg push --rev 'desc(C0)'
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76 pushing to $TESTTMP/C4/server (glob)
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 searching for changes
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 abort: push creates new remote head 0f88766e02d6!
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79 (merge or see 'hg help push' for details about pushing new heads)
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 [255]
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81
7906cdb64895 obsolescence: add test for the "branch replacement" logic during push, case C4
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 $ cd ../..