annotate tests/test-push-checkheads-pruned-B5.t @ 34661:eb586ed5d8ce

transaction-summary: show the range of new revisions upon pull/unbundle (BC) Upon pull or unbundle, we display a message with the range of new revisions fetched. This revision range could readily be used after a pull to look out what's new with 'hg log'. The algorithm takes care of filtering "obsolete" revisions that might be present in transaction's "changes" but should not be displayed to the end user.
author Denis Laxalde <denis.laxalde@logilab.fr>
date Thu, 12 Oct 2017 09:39:50 +0200
parents b11e8c67fb0f
children 4441705b7111
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32012
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ====================================
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Testing head checking code: Case B-5
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ====================================
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
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
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
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
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
7 some of the new one we push.
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
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.
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
11 Category B: simple case involving pruned changesets
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 TestCase 5: multi-changeset branch, mix of pruned and superceeded
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 .. old-state:
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 ..
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 .. * 3 changeset branch
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17 ..
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 .. new-state:
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 ..
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 .. * old head is pruned
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 .. * old mid is superceeded
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 .. * old root is pruned
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 ..
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 .. expected-result:
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 ..
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 .. * push allowed
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 ..
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 .. graph-summary:
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 ..
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 .. B ⊗
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 .. |
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 .. A ø⇠◔ A'
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 .. | |
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34 .. B ⊗ |
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35 .. |/
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
36 .. ●
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 $ . $TESTDIR/testlib/push-checkheads-util.sh
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40 Test setup
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41 ----------
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
42
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 $ mkdir B5
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44 $ cd B5
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 $ setuprepos
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 creating basic server and client repo
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 updating to branch default
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 $ cd server
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 $ mkcommit B0
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 $ mkcommit C0
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 $ cd ../client
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53 $ hg pull
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54 pulling from $TESTTMP/B5/server (glob)
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 searching for changes
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56 adding changesets
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 adding manifests
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 adding file changes
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
59 added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 33542
diff changeset
60 new changesets d73caddc5533:821fb21d0dd2
32012
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61 (run 'hg update' to get a working copy)
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 $ hg up 0
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
63 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 $ mkcommit B1
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 created new head
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 $ hg debugobsolete --record-parents `getid "desc(A0)"`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33252
diff changeset
67 obsoleted 1 changesets
32012
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(B1)"`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33252
diff changeset
69 obsoleted 1 changesets
32012
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70 $ hg debugobsolete --record-parents `getid "desc(C0)"`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33252
diff changeset
71 obsoleted 1 changesets
32012
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 $ hg log -G --hidden
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 @ 25c56d33e4c4 (draft): B1
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74 |
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 | x 821fb21d0dd2 (draft): C0
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76 | |
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 | x d73caddc5533 (draft): B0
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 | |
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79 | x 8aaa48160adc (draft): A0
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 |/
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 o 1e4be0697311 (public): root
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84 Actual testing
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
85 --------------
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
87 $ hg push
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88 pushing to $TESTTMP/B5/server (glob)
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
89 searching for changes
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
90 adding changesets
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
91 adding manifests
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
92 adding file changes
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
93 added 1 changesets with 1 changes to 1 files (+1 heads)
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
94 3 new obsolescence markers
33252
53b3a1968aa6 obsolete: reports the number of local changeset obsoleted when unbundling
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32012
diff changeset
95 obsoleted 3 changesets
32012
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
96
413c731f5475 obsolescence: add test for the "branch replacement" logic during push, case B5
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
97 $ cd ../..