##// END OF EJS Templates
tests: disable shallow narrow tests with simple store...
Gregory Szorc -
r37441:8d033b34 default
parent child Browse files
Show More
@@ -1,345 +1,347 b''
1 #require no-reposimplestore
2
1 3 $ . "$TESTDIR/narrow-library.sh"
2 4
3 5 create full repo
4 6
5 7 $ hg init master
6 8 $ cd master
7 9 $ cat >> .hg/hgrc <<EOF
8 10 > [narrow]
9 11 > serveellipses=True
10 12 > EOF
11 13
12 14 $ mkdir inside
13 15 $ echo 1 > inside/f
14 16 $ hg commit -Aqm 'initial inside'
15 17
16 18 $ mkdir outside
17 19 $ echo 1 > outside/f
18 20 $ hg commit -Aqm 'initial outside'
19 21
20 22 $ echo 2a > outside/f
21 23 $ hg commit -Aqm 'outside 2a'
22 24 $ echo 3 > inside/f
23 25 $ hg commit -Aqm 'inside 3'
24 26 $ echo 4a > outside/f
25 27 $ hg commit -Aqm 'outside 4a'
26 28 $ hg update '.~3'
27 29 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
28 30
29 31 $ echo 2b > outside/f
30 32 $ hg commit -Aqm 'outside 2b'
31 33 $ echo 3 > inside/f
32 34 $ hg commit -Aqm 'inside 3'
33 35 $ echo 4b > outside/f
34 36 $ hg commit -Aqm 'outside 4b'
35 37 $ hg update '.~3'
36 38 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
37 39
38 40 $ echo 2c > outside/f
39 41 $ hg commit -Aqm 'outside 2c'
40 42 $ echo 3 > inside/f
41 43 $ hg commit -Aqm 'inside 3'
42 44 $ echo 4c > outside/f
43 45 $ hg commit -Aqm 'outside 4c'
44 46 $ hg update '.~3'
45 47 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
46 48
47 49 $ echo 2d > outside/f
48 50 $ hg commit -Aqm 'outside 2d'
49 51 $ echo 3 > inside/f
50 52 $ hg commit -Aqm 'inside 3'
51 53 $ echo 4d > outside/f
52 54 $ hg commit -Aqm 'outside 4d'
53 55
54 56 $ hg update -r 'desc("outside 4a")'
55 57 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
56 58 $ hg merge -r 'desc("outside 4b")' 2>&1 | egrep -v '(warning:|incomplete!)'
57 59 merging outside/f
58 60 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
59 61 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
60 62 $ echo 5 > outside/f
61 63 $ rm outside/f.orig
62 64 $ hg resolve --mark outside/f
63 65 (no more unresolved files)
64 66 $ hg commit -m 'merge a/b 5'
65 67 $ echo 6 > outside/f
66 68 $ hg commit -Aqm 'outside 6'
67 69
68 70 $ hg merge -r 'desc("outside 4c")' 2>&1 | egrep -v '(warning:|incomplete!)'
69 71 merging outside/f
70 72 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
71 73 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
72 74 $ echo 7 > outside/f
73 75 $ rm outside/f.orig
74 76 $ hg resolve --mark outside/f
75 77 (no more unresolved files)
76 78 $ hg commit -Aqm 'merge a/b/c 7'
77 79 $ echo 8 > outside/f
78 80 $ hg commit -Aqm 'outside 8'
79 81
80 82 $ hg merge -r 'desc("outside 4d")' 2>&1 | egrep -v '(warning:|incomplete!)'
81 83 merging outside/f
82 84 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
83 85 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
84 86 $ echo 9 > outside/f
85 87 $ rm outside/f.orig
86 88 $ hg resolve --mark outside/f
87 89 (no more unresolved files)
88 90 $ hg commit -Aqm 'merge a/b/c/d 9'
89 91 $ echo 10 > outside/f
90 92 $ hg commit -Aqm 'outside 10'
91 93
92 94 $ echo 11 > inside/f
93 95 $ hg commit -Aqm 'inside 11'
94 96 $ echo 12 > outside/f
95 97 $ hg commit -Aqm 'outside 12'
96 98
97 99 $ hg log -G -T '{rev} {node|short} {desc}\n'
98 100 @ 21 8d874d57adea outside 12
99 101 |
100 102 o 20 7ef88b4dd4fa inside 11
101 103 |
102 104 o 19 2a20009de83e outside 10
103 105 |
104 106 o 18 3ac1f5779de3 merge a/b/c/d 9
105 107 |\
106 108 | o 17 38a9c2f7e546 outside 8
107 109 | |
108 110 | o 16 094aa62fc898 merge a/b/c 7
109 111 | |\
110 112 | | o 15 f29d083d32e4 outside 6
111 113 | | |
112 114 | | o 14 2dc11382541d merge a/b 5
113 115 | | |\
114 116 o | | | 13 27d07ef97221 outside 4d
115 117 | | | |
116 118 o | | | 12 465567bdfb2d inside 3
117 119 | | | |
118 120 o | | | 11 d1c61993ec83 outside 2d
119 121 | | | |
120 122 | o | | 10 56859a8e33b9 outside 4c
121 123 | | | |
122 124 | o | | 9 bb96a08b062a inside 3
123 125 | | | |
124 126 | o | | 8 b844052e7b3b outside 2c
125 127 |/ / /
126 128 | | o 7 9db2d8fcc2a6 outside 4b
127 129 | | |
128 130 | | o 6 6418167787a6 inside 3
129 131 | | |
130 132 +---o 5 77344f344d83 outside 2b
131 133 | |
132 134 | o 4 9cadde08dc9f outside 4a
133 135 | |
134 136 | o 3 019ef06f125b inside 3
135 137 | |
136 138 | o 2 75e40c075a19 outside 2a
137 139 |/
138 140 o 1 906d6c682641 initial outside
139 141 |
140 142 o 0 9f8e82b51004 initial inside
141 143
142 144
143 145 Now narrow and shallow clone this and get a hopefully correct graph
144 146
145 147 $ cd ..
146 148 $ hg clone --narrow ssh://user@dummy/master narrow --include inside --depth 7
147 149 requesting all changes
148 150 adding changesets
149 151 adding manifests
150 152 adding file changes
151 153 added 8 changesets with 3 changes to 1 files
152 154 new changesets *:* (glob)
153 155 updating to branch default
154 156 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
155 157 $ cd narrow
156 158
157 159 To make updating the tests easier, we print the emitted nodes
158 160 sorted. This makes it easier to identify when the same node structure
159 161 has been emitted, just in a different order.
160 162
161 163 $ hg log -G -T '{rev} {node|short}{if(ellipsis,"...")} {desc}\n'
162 164 @ 7 8d874d57adea... outside 12
163 165 |
164 166 o 6 7ef88b4dd4fa inside 11
165 167 |
166 168 o 5 2a20009de83e... outside 10
167 169 |
168 170 o 4 3ac1f5779de3... merge a/b/c/d 9
169 171 |\
170 172 | o 3 465567bdfb2d inside 3
171 173 | |
172 174 | o 2 d1c61993ec83... outside 2d
173 175 |
174 176 o 1 bb96a08b062a inside 3
175 177 |
176 178 o 0 b844052e7b3b... outside 2c
177 179
178 180
179 181 $ hg log -T '{if(ellipsis,"...")}{node|short} {p1node|short} {p2node|short} {desc}\n' | sort
180 182 ...2a20009de83e 000000000000 3ac1f5779de3 outside 10
181 183 ...3ac1f5779de3 bb96a08b062a 465567bdfb2d merge a/b/c/d 9
182 184 ...8d874d57adea 7ef88b4dd4fa 000000000000 outside 12
183 185 ...b844052e7b3b 000000000000 000000000000 outside 2c
184 186 ...d1c61993ec83 000000000000 000000000000 outside 2d
185 187 465567bdfb2d d1c61993ec83 000000000000 inside 3
186 188 7ef88b4dd4fa 2a20009de83e 000000000000 inside 11
187 189 bb96a08b062a b844052e7b3b 000000000000 inside 3
188 190
189 191 $ cd ..
190 192
191 193 Incremental test case: show a pull can pull in a conflicted merge even if elided
192 194
193 195 $ hg init pullmaster
194 196 $ cd pullmaster
195 197 $ cat >> .hg/hgrc <<EOF
196 198 > [narrow]
197 199 > serveellipses=True
198 200 > EOF
199 201 $ mkdir inside outside
200 202 $ echo v1 > inside/f
201 203 $ echo v1 > outside/f
202 204 $ hg add inside/f outside/f
203 205 $ hg commit -m init
204 206
205 207 $ for line in a b c d
206 208 > do
207 209 > hg update -r 0
208 210 > echo v2$line > outside/f
209 211 > hg commit -m "outside 2$line"
210 212 > echo v2$line > inside/f
211 213 > hg commit -m "inside 2$line"
212 214 > echo v3$line > outside/f
213 215 > hg commit -m "outside 3$line"
214 216 > echo v4$line > outside/f
215 217 > hg commit -m "outside 4$line"
216 218 > done
217 219 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
218 220 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
219 221 created new head
220 222 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
221 223 created new head
222 224 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
223 225 created new head
224 226
225 227 $ cd ..
226 228 $ hg clone --narrow ssh://user@dummy/pullmaster pullshallow \
227 229 > --include inside --depth 3
228 230 requesting all changes
229 231 adding changesets
230 232 adding manifests
231 233 adding file changes
232 234 added 12 changesets with 5 changes to 1 files (+3 heads)
233 235 new changesets *:* (glob)
234 236 updating to branch default
235 237 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
236 238 $ cd pullshallow
237 239
238 240 $ hg log -G -T '{rev} {node|short}{if(ellipsis,"...")} {desc}\n'
239 241 @ 11 0ebbd712a0c8... outside 4d
240 242 |
241 243 o 10 0d4c867aeb23 inside 2d
242 244 |
243 245 o 9 e932969c3961... outside 2d
244 246
245 247 o 8 33d530345455... outside 4c
246 248 |
247 249 o 7 0ce6481bfe07 inside 2c
248 250 |
249 251 o 6 caa65c940632... outside 2c
250 252
251 253 o 5 3df233defecc... outside 4b
252 254 |
253 255 o 4 7162cc6d11a4 inside 2b
254 256 |
255 257 o 3 f2a632f0082d... outside 2b
256 258
257 259 o 2 b8a3da16ba49... outside 4a
258 260 |
259 261 o 1 53f543eb8e45 inside 2a
260 262 |
261 263 o 0 1be3e5221c6a... outside 2a
262 264
263 265 $ hg log -T '{if(ellipsis,"...")}{node|short} {p1node|short} {p2node|short} {desc}\n' | sort
264 266 ...0ebbd712a0c8 0d4c867aeb23 000000000000 outside 4d
265 267 ...1be3e5221c6a 000000000000 000000000000 outside 2a
266 268 ...33d530345455 0ce6481bfe07 000000000000 outside 4c
267 269 ...3df233defecc 7162cc6d11a4 000000000000 outside 4b
268 270 ...b8a3da16ba49 53f543eb8e45 000000000000 outside 4a
269 271 ...caa65c940632 000000000000 000000000000 outside 2c
270 272 ...e932969c3961 000000000000 000000000000 outside 2d
271 273 ...f2a632f0082d 000000000000 000000000000 outside 2b
272 274 0ce6481bfe07 caa65c940632 000000000000 inside 2c
273 275 0d4c867aeb23 e932969c3961 000000000000 inside 2d
274 276 53f543eb8e45 1be3e5221c6a 000000000000 inside 2a
275 277 7162cc6d11a4 f2a632f0082d 000000000000 inside 2b
276 278
277 279 $ cd ../pullmaster
278 280 $ hg update -r 'desc("outside 4a")'
279 281 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
280 282 $ hg merge -r 'desc("outside 4b")' 2>&1 | egrep -v '(warning:|incomplete!)'
281 283 merging inside/f
282 284 merging outside/f
283 285 0 files updated, 0 files merged, 0 files removed, 2 files unresolved
284 286 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
285 287 $ echo 3 > inside/f
286 288 $ echo 5 > outside/f
287 289 $ rm -f {in,out}side/f.orig
288 290 $ hg resolve --mark inside/f outside/f
289 291 (no more unresolved files)
290 292 $ hg commit -m 'merge a/b 5'
291 293
292 294 $ hg update -r 'desc("outside 4c")'
293 295 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
294 296 $ hg merge -r 'desc("outside 4d")' 2>&1 | egrep -v '(warning:|incomplete!)'
295 297 merging inside/f
296 298 merging outside/f
297 299 0 files updated, 0 files merged, 0 files removed, 2 files unresolved
298 300 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
299 301 $ echo 3 > inside/f
300 302 $ echo 5 > outside/f
301 303 $ rm -f {in,out}side/f.orig
302 304 $ hg resolve --mark inside/f outside/f
303 305 (no more unresolved files)
304 306 $ hg commit -m 'merge c/d 5'
305 307
306 308 $ hg update -r 'desc("merge a/b 5")'
307 309 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
308 310 $ hg merge -r 'desc("merge c/d 5")'
309 311 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
310 312 (branch merge, don't forget to commit)
311 313 $ echo 6 > outside/f
312 314 $ hg commit -m 'outside 6'
313 315 $ echo 7 > outside/f
314 316 $ hg commit -m 'outside 7'
315 317 $ echo 8 > outside/f
316 318 $ hg commit -m 'outside 8'
317 319
318 320 $ cd ../pullshallow
319 321 $ hg pull --depth 3
320 322 pulling from ssh://user@dummy/pullmaster
321 323 searching for changes
322 324 adding changesets
323 325 adding manifests
324 326 adding file changes
325 327 added 4 changesets with 3 changes to 1 files (-3 heads)
326 328 new changesets *:* (glob)
327 329 (run 'hg update' to get a working copy)
328 330
329 331 $ hg log -T '{if(ellipsis,"...")}{node|short} {p1node|short} {p2node|short} {desc}\n' | sort
330 332 ...0ebbd712a0c8 0d4c867aeb23 000000000000 outside 4d
331 333 ...1be3e5221c6a 000000000000 000000000000 outside 2a
332 334 ...33d530345455 0ce6481bfe07 000000000000 outside 4c
333 335 ...3df233defecc 7162cc6d11a4 000000000000 outside 4b
334 336 ...b8a3da16ba49 53f543eb8e45 000000000000 outside 4a
335 337 ...bf545653453e 968003d40c60 000000000000 outside 8
336 338 ...caa65c940632 000000000000 000000000000 outside 2c
337 339 ...e932969c3961 000000000000 000000000000 outside 2d
338 340 ...f2a632f0082d 000000000000 000000000000 outside 2b
339 341 0ce6481bfe07 caa65c940632 000000000000 inside 2c
340 342 0d4c867aeb23 e932969c3961 000000000000 inside 2d
341 343 53f543eb8e45 1be3e5221c6a 000000000000 inside 2a
342 344 67d49c0bdbda b8a3da16ba49 3df233defecc merge a/b 5
343 345 7162cc6d11a4 f2a632f0082d 000000000000 inside 2b
344 346 968003d40c60 67d49c0bdbda e867021d52c2 outside 6
345 347 e867021d52c2 33d530345455 0ebbd712a0c8 merge c/d 5
@@ -1,122 +1,124 b''
1 #require no-reposimplestore
2
1 3 $ . "$TESTDIR/narrow-library.sh"
2 4
3 5 $ hg init master
4 6 $ cd master
5 7 $ cat >> .hg/hgrc <<EOF
6 8 > [narrow]
7 9 > serveellipses=True
8 10 > EOF
9 11 $ for x in `$TESTDIR/seq.py 10`
10 12 > do
11 13 > echo $x > "f$x"
12 14 > hg add "f$x"
13 15 > done
14 16 $ hg commit -m "Add root files"
15 17 $ mkdir d1 d2
16 18 $ for x in `$TESTDIR/seq.py 10`
17 19 > do
18 20 > echo d1/$x > "d1/f$x"
19 21 > hg add "d1/f$x"
20 22 > echo d2/$x > "d2/f$x"
21 23 > hg add "d2/f$x"
22 24 > done
23 25 $ hg commit -m "Add d1 and d2"
24 26 $ for x in `$TESTDIR/seq.py 10`
25 27 > do
26 28 > echo f$x rev2 > "f$x"
27 29 > echo d1/f$x rev2 > "d1/f$x"
28 30 > echo d2/f$x rev2 > "d2/f$x"
29 31 > hg commit -m "Commit rev2 of f$x, d1/f$x, d2/f$x"
30 32 > done
31 33 $ cd ..
32 34
33 35 narrow and shallow clone the d2 directory
34 36
35 37 $ hg clone --narrow ssh://user@dummy/master shallow --include "d2" --depth 2
36 38 requesting all changes
37 39 adding changesets
38 40 adding manifests
39 41 adding file changes
40 42 added 4 changesets with 13 changes to 10 files
41 43 new changesets *:* (glob)
42 44 updating to branch default
43 45 10 files updated, 0 files merged, 0 files removed, 0 files unresolved
44 46 $ cd shallow
45 47 $ hg log -T '{rev}{if(ellipsis,"...")}: {desc}\n'
46 48 3: Commit rev2 of f10, d1/f10, d2/f10
47 49 2: Commit rev2 of f9, d1/f9, d2/f9
48 50 1: Commit rev2 of f8, d1/f8, d2/f8
49 51 0...: Commit rev2 of f7, d1/f7, d2/f7
50 52 $ hg update 0
51 53 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
52 54 $ cat d2/f7 d2/f8
53 55 d2/f7 rev2
54 56 d2/8
55 57
56 58 $ cd ..
57 59
58 60 change every upstream file once
59 61
60 62 $ cd master
61 63 $ for x in `$TESTDIR/seq.py 10`
62 64 > do
63 65 > echo f$x rev3 > "f$x"
64 66 > echo d1/f$x rev3 > "d1/f$x"
65 67 > echo d2/f$x rev3 > "d2/f$x"
66 68 > hg commit -m "Commit rev3 of f$x, d1/f$x, d2/f$x"
67 69 > done
68 70 $ cd ..
69 71
70 72 pull new changes with --depth specified. There were 10 changes to the d2
71 73 directory but the shallow pull should only fetch 3.
72 74
73 75 $ cd shallow
74 76 $ hg pull --depth 2
75 77 pulling from ssh://user@dummy/master
76 78 searching for changes
77 79 adding changesets
78 80 adding manifests
79 81 adding file changes
80 82 added 4 changesets with 10 changes to 10 files
81 83 new changesets *:* (glob)
82 84 (run 'hg update' to get a working copy)
83 85 $ hg log -T '{rev}{if(ellipsis,"...")}: {desc}\n'
84 86 7: Commit rev3 of f10, d1/f10, d2/f10
85 87 6: Commit rev3 of f9, d1/f9, d2/f9
86 88 5: Commit rev3 of f8, d1/f8, d2/f8
87 89 4...: Commit rev3 of f7, d1/f7, d2/f7
88 90 3: Commit rev2 of f10, d1/f10, d2/f10
89 91 2: Commit rev2 of f9, d1/f9, d2/f9
90 92 1: Commit rev2 of f8, d1/f8, d2/f8
91 93 0...: Commit rev2 of f7, d1/f7, d2/f7
92 94 $ hg update 4
93 95 merging d2/f1
94 96 merging d2/f2
95 97 merging d2/f3
96 98 merging d2/f4
97 99 merging d2/f5
98 100 merging d2/f6
99 101 merging d2/f7
100 102 3 files updated, 7 files merged, 0 files removed, 0 files unresolved
101 103 $ cat d2/f7 d2/f8
102 104 d2/f7 rev3
103 105 d2/f8 rev2
104 106 $ hg update 7
105 107 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
106 108 $ cat d2/f10
107 109 d2/f10 rev3
108 110
109 111 $ cd ..
110 112
111 113 cannot clone with zero or negative depth
112 114
113 115 $ hg clone --narrow ssh://user@dummy/master bad --include "d2" --depth 0
114 116 requesting all changes
115 117 remote: abort: depth must be positive, got 0
116 118 abort: pull failed on remote
117 119 [255]
118 120 $ hg clone --narrow ssh://user@dummy/master bad --include "d2" --depth -1
119 121 requesting all changes
120 122 remote: abort: depth must be positive, got -1
121 123 abort: pull failed on remote
122 124 [255]
General Comments 0
You need to be logged in to leave comments. Login now