annotate tests/test-push-checkheads-partial-C4.t @ 3870:e0bf44befd6e

evolve: exclude "identical" precursors from the precursors set I'm not sure it is the right thing to do, but it simply thing a lot for now. Otherwise, using 'precursors' to find rewind direction become too complex. This is going to give problematic result in case of prune. Since there are no other precursors to follow.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sun, 17 Jun 2018 03:29:34 +0200
parents 2e703ed1c713
children d5adce52cef4 ef22eef37ecc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ====================================
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Testing head checking code: Case C-4
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ====================================
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
5 Mercurial checks for the introduction of new heads on push. Evolution comes
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
6 into play to detect if existing branches on the server are being replaced by
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
7 some of the new one we push.
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
9 This case is part of a series of tests checking this behavior.
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
11 Category C: case were the branch is only partially obsoleted
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 TestCase 4: 2 changeset branch, only the base is pruned
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 .. old-state:
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 ..
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 .. * 2 changeset branch
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17 ..
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 .. new-state:
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 ..
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 .. * old base is pruned
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 .. * 1 new unrelated branch
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 ..
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 .. expected-result:
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 ..
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 .. * push denied
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 ..
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 .. graph-summary:
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 ..
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 .. B ◔
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 .. |
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 .. A ⊗ ◔ C
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 .. |/
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
33 .. ●
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
35 $ . $TESTDIR/testlib/push-checkheads-util.sh
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
36
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37 Test setup
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 ----------
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
40 $ mkdir C4
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
41 $ cd C4
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
42 $ setuprepos
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 creating basic server and client repo
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44 updating to branch default
0ecb9fba6364 checkheads: handle partial obsolescence
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
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 $ cd server
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 $ mkcommit B0
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 $ cd ../client
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 $ hg pull
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
50 pulling from $TESTTMP/C4/server (glob)
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 searching for changes
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 adding changesets
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53 adding manifests
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54 adding file changes
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 added 1 changesets with 1 changes to 1 files
3075
8feb2cae7eae test: adapt to output change from eb586ed5d8ce
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2754
diff changeset
56 new changesets d73caddc5533
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 (run 'hg update' to get a working copy)
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 $ hg up 0
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
59 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 $ mkcommit C0
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61 created new head
2251
2f71f6234b06 checkheads-tests: add missing parents recording for prune markers
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2249
diff changeset
62 $ hg debugobsolete --record-parents `getid "desc(A0)"`
2754
21f06d932231 test: update test output to match b11e8c67fb0f
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2277
diff changeset
63 obsoleted 1 changesets
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3417
diff changeset
64 1 new orphan changesets
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 $ hg log -G --hidden
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 @ 0f88766e02d6 (draft): C0
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 |
3417
d3a17c67f85c branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3411
diff changeset
68 | * d73caddc5533 (draft): B0
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69 | |
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70 | x 8aaa48160adc (draft): A0
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71 |/
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 o 1e4be0697311 (public): root
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 Actual testing
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76 --------------
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 $ hg push --rev 'desc(C0)'
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
79 pushing to $TESTTMP/C4/server (glob)
2249
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 searching for changes
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 abort: push creates new remote head 0f88766e02d6!
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 (merge or see 'hg help push' for details about pushing new heads)
0ecb9fba6364 checkheads: handle partial obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83 [255]
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
84
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2251
diff changeset
85 $ cd ../..