##// END OF EJS Templates
obsolescence: add test case A-6 for obsolescence markers exchange...
Pierre-Yves David -
r31911:7d8b9c80 default
parent child Browse files
Show More
@@ -0,0 +1,150 b''
1 ============================================
2 Testing obsolescence markers push: Cases A.6
3 ============================================
4
5 Mercurial pushes obsolescences markers relevant to the "pushed-set", the set of
6 all changesets that requested to be "in sync" after the push (even if they are
7 already on both side).
8
9 This test belongs to a series of tests checking such set is properly computed
10 and applied. This does not tests "obsmarkers" discovery capabilities.
11
12 Category A: simple cases
13 TestCase 6: new markers between changesets already known on both side
14 Variants:
15 # a: explicit push
16 # b: bare push
17
18 A.6 new markers between changesets already known on both side
19 ==============================================================
20
21 .. {{{
22 .. A ◕⇠● B
23 .. |/
24 .. ● O
25 .. }}}
26 ..
27 .. Marker exist from:
28 ..
29 .. * `A◕⇠● B`
30 ..
31 .. Command runs:
32 ..
33 .. * hg push -r B
34 .. * hg push
35 ..
36 .. Expected exchange:
37 ..
38 .. * `A◕⇠● B`
39
40 Setup
41 -----
42
43 $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
44
45 initial
46
47 $ setuprepos A.6
48 creating test repo for test case A.6
49 - pulldest
50 - main
51 - pushdest
52 cd into `main` and proceed with env setup
53 $ cd main
54 $ mkcommit A0
55 $ hg update -q 0
56 $ mkcommit A1
57 created new head
58
59 make both changeset known in remote
60
61 $ hg push -qf ../pushdest
62 $ hg push -qf ../pulldest
63
64 create a marker after this
65
66 $ hg debugobsolete `getid 'desc(A0)'` `getid 'desc(A1)'`
67 $ hg log -G --hidden
68 @ e5ea8f9c7314 (draft): A1
69 |
70 | x 28b51eb45704 (draft): A0
71 |/
72 o a9bdc8b26820 (public): O
73
74 $ inspect_obsmarkers
75 obsstore content
76 ================
77 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
78 $ cd ..
79 $ cd ..
80
81 $ cp -R A.6 A.6.a
82 $ cp -R A.6 A.6.b
83
84 Actual Test (explicit push version)
85 -----------------------------------
86
87 $ dotest A.6.a A1
88 ## Running testcase A.6.a
89 # testing echange of "A1" (e5ea8f9c7314)
90 ## initial state
91 # obstore: main
92 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
93 # obstore: pushdest
94 # obstore: pulldest
95 ## pushing "A1" from main to pushdest
96 pushing to pushdest
97 searching for changes
98 no changes found
99 remote: 1 new obsolescence markers
100 ## post push state
101 # obstore: main
102 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
103 # obstore: pushdest
104 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
105 # obstore: pulldest
106 ## pulling "e5ea8f9c7314" from main into pulldest
107 pulling from main
108 no changes found
109 1 new obsolescence markers
110 ## post pull state
111 # obstore: main
112 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
113 # obstore: pushdest
114 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
115 # obstore: pulldest
116 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
117
118 Actual Test (bare push version)
119 -------------------------------
120
121 $ dotest A.6.b
122 ## Running testcase A.6.b
123 ## initial state
124 # obstore: main
125 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
126 # obstore: pushdest
127 # obstore: pulldest
128 ## pushing from main to pushdest
129 pushing to pushdest
130 searching for changes
131 no changes found
132 remote: 1 new obsolescence markers
133 ## post push state
134 # obstore: main
135 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
136 # obstore: pushdest
137 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
138 # obstore: pulldest
139 ## pulling from main into pulldest
140 pulling from main
141 searching for changes
142 no changes found
143 1 new obsolescence markers
144 ## post pull state
145 # obstore: main
146 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
147 # obstore: pushdest
148 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
149 # obstore: pulldest
150 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
General Comments 0
You need to be logged in to leave comments. Login now