##// END OF EJS Templates
obsolescence: add test for the "branch replacement" logic during push, case A2...
Pierre-Yves David -
r31975:76169296 default
parent child Browse files
Show More
@@ -0,0 +1,87 b''
1 ====================================
2 Testing head checking code: Case A-2
3 ====================================
4
5 Mercurial checks for the introduction of new heads on push. Evolution comes
6 into play to detect if existing branches on the server are being replaced by
7 some of the new one we push.
8
9 This case is part of a series of tests checking this behavior.
10
11 Category A: simple case involving a branch being superceeded by another.
12 TestCase 2: multi-changeset branch
13
14 .. old-state:
15 ..
16 .. * 1 branch with 2 changesets
17 ..
18 .. new-state:
19 ..
20 .. * another 2-changeset branch succeeding the old one
21 ..
22 .. expected-result:
23 ..
24 .. * push allowed
25 ..
26 .. graph-summary:
27 ..
28 .. B ΓΈβ‡ β—” B'
29 .. | |
30 .. A ΓΈβ‡ β—” A'
31 .. |/
32 .. ●
33
34 $ . $TESTDIR/testlib/push-checkheads-util.sh
35
36 Test setup
37 ----------
38
39 $ mkdir A2
40 $ cd A2
41 $ setuprepos
42 creating basic server and client repo
43 updating to branch default
44 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
45 $ cd server
46 $ mkcommit B0
47 $ cd ../client
48 $ hg pull
49 pulling from $TESTTMP/A2/server (glob)
50 searching for changes
51 adding changesets
52 adding manifests
53 adding file changes
54 added 1 changesets with 1 changes to 1 files
55 (run 'hg update' to get a working copy)
56 $ hg up 0
57 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
58 $ mkcommit A1
59 created new head
60 $ mkcommit B1
61 $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
62 $ hg debugobsolete `getid "desc(B0)" ` `getid "desc(B1)"`
63 $ hg log -G --hidden
64 @ 262c8c798096 (draft): B1
65 |
66 o f6082bc4ffef (draft): A1
67 |
68 | x d73caddc5533 (draft): B0
69 | |
70 | x 8aaa48160adc (draft): A0
71 |/
72 o 1e4be0697311 (public): root
73
74
75 Actual testing
76 --------------
77
78 $ hg push
79 pushing to $TESTTMP/A2/server (glob)
80 searching for changes
81 adding changesets
82 adding manifests
83 adding file changes
84 added 2 changesets with 2 changes to 2 files (+1 heads)
85 2 new obsolescence markers
86
87 $ cd ../..
General Comments 0
You need to be logged in to leave comments. Login now