annotate tests/test-push-checkheads-pruned-B2.t @ 34980:705d0f2bb677 stable

pathutil: add doctests for canonpath() This is a followup to f445b10dc7fb. Since there's no way to ensure that more drive letters than C: exist, this seems like the only way to test it. This is enough to catch the f445b10dc7fb scenario, as well as CWD outside of the repo when the path isn't prefixed with path/to/repo.
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 03 Nov 2017 22:22:50 -0400
parents eb586ed5d8ce
children 4441705b7111
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32010
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ====================================
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Testing head checking code: Case B-2
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ====================================
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
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
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
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
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
7 some of the new one we push.
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
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.
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
11 Category B: simple case involving pruned changesets
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 TestCase 2: multi-changeset branch, head is pruned, rest is superceeded
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 .. old-state:
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 ..
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 .. * 2 changeset branch
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17 ..
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 .. new-state:
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 ..
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 .. * old head is pruned
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
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
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 ..
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 .. expected-result:
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 ..
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 .. * push allowed
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 ..
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 .. graph-summary:
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 ..
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 .. B ⊗
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 .. |
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 .. A ø⇠◔ A'
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 .. |/
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 .. ●
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35 $ . $TESTDIR/testlib/push-checkheads-util.sh
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
36
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37 Test setup
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 ----------
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40 $ mkdir B2
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41 $ cd B2
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
42 $ setuprepos
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 creating basic server and client repo
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44 updating to branch default
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
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
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 $ cd server
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 $ mkcommit B0
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 $ cd ../client
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 $ hg pull
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 pulling from $TESTTMP/B2/server (glob)
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 searching for changes
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 adding changesets
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53 adding manifests
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54 adding file changes
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 added 1 changesets with 1 changes to 1 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
56 new changesets d73caddc5533
32010
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 (run 'hg update' to get a working copy)
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 $ hg up 0
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
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
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 $ mkcommit A1
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61 created new head
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33252
diff changeset
63 obsoleted 1 changesets
32010
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 $ hg debugobsolete --record-parents `getid "desc(B0)"`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33252
diff changeset
65 obsoleted 1 changesets
32010
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 $ hg log -G --hidden
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 @ f6082bc4ffef (draft): A1
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 |
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69 | x d73caddc5533 (draft): B0
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70 | |
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71 | x 8aaa48160adc (draft): A0
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 |/
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 o 1e4be0697311 (public): root
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76 Actual testing
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 --------------
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79 $ hg push
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 pushing to $TESTTMP/B2/server (glob)
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 searching for changes
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 adding changesets
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83 adding manifests
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84 adding file changes
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
85 added 1 changesets with 1 changes to 1 files (+1 heads)
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86 2 new obsolescence markers
33252
53b3a1968aa6 obsolete: reports the number of local changeset obsoleted when unbundling
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32010
diff changeset
87 obsoleted 2 changesets
32010
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88
5622614e911c obsolescence: add test for the "branch replacement" logic during push, case B2
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
89 $ cd ../..