##// END OF EJS Templates
tests: conditionalize narrow-widen error output for Windows
Matt Harbison -
r39428:3d8b73c0 default
parent child Browse files
Show More
@@ -1,384 +1,385 b''
1 1 #testcases tree flat
2 2 $ . "$TESTDIR/narrow-library.sh"
3 3
4 4 #if tree
5 5 $ cat << EOF >> $HGRCPATH
6 6 > [experimental]
7 7 > treemanifest = 1
8 8 > EOF
9 9 #endif
10 10
11 11 $ hg init master
12 12 $ cd master
13 13
14 14 $ mkdir inside
15 15 $ echo 'inside' > inside/f
16 16 $ hg add inside/f
17 17 $ hg commit -m 'add inside'
18 18
19 19 $ mkdir widest
20 20 $ echo 'widest' > widest/f
21 21 $ hg add widest/f
22 22 $ hg commit -m 'add widest'
23 23
24 24 $ mkdir outside
25 25 $ echo 'outside' > outside/f
26 26 $ hg add outside/f
27 27 $ hg commit -m 'add outside'
28 28
29 29 $ cd ..
30 30
31 31 narrow clone the inside file
32 32
33 33 $ hg clone --narrow ssh://user@dummy/master narrow --include inside
34 34 requesting all changes
35 35 adding changesets
36 36 adding manifests
37 37 adding file changes
38 38 added 3 changesets with 1 changes to 1 files
39 39 new changesets *:* (glob)
40 40 updating to branch default
41 41 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
42 42 $ cd narrow
43 43 $ hg tracked
44 44 I path:inside
45 45 $ ls
46 46 inside
47 47 $ cat inside/f
48 48 inside
49 49 $ cd ..
50 50
51 51 add more upstream files which we will include in a wider narrow spec
52 52
53 53 $ cd master
54 54
55 55 $ mkdir wider
56 56 $ echo 'wider' > wider/f
57 57 $ hg add wider/f
58 58 $ echo 'widest v2' > widest/f
59 59 $ hg commit -m 'add wider, update widest'
60 60
61 61 $ echo 'widest v3' > widest/f
62 62 $ hg commit -m 'update widest v3'
63 63
64 64 $ echo 'inside v2' > inside/f
65 65 $ hg commit -m 'update inside'
66 66
67 67 $ mkdir outside2
68 68 $ echo 'outside2' > outside2/f
69 69 $ hg add outside2/f
70 70 $ hg commit -m 'add outside2'
71 71
72 72 $ echo 'widest v4' > widest/f
73 73 $ hg commit -m 'update widest v4'
74 74
75 75 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
76 76 7: update widest v4
77 77 6: add outside2
78 78 5: update inside
79 79 4: update widest v3
80 80 3: add wider, update widest
81 81 2: add outside
82 82 1: add widest
83 83 0: add inside
84 84
85 85 $ cd ..
86 86
87 87 Widen the narrow spec to see the wider file. This should not get the newly
88 88 added upstream revisions.
89 89
90 90 $ cd narrow
91 91 $ hg tracked --addinclude wider/f
92 92 comparing with ssh://user@dummy/master
93 93 searching for changes
94 94 no changes found
95 95 adding changesets
96 96 adding manifests
97 97 adding file changes
98 98 added 0 changesets with 0 changes to 1 files
99 99 3 local changesets published
100 100 $ hg tracked
101 101 I path:inside
102 102 I path:wider/f
103 103
104 104 Pull down the newly added upstream revision.
105 105
106 106 $ hg pull
107 107 pulling from ssh://user@dummy/master
108 108 searching for changes
109 109 adding changesets
110 110 adding manifests
111 111 adding file changes
112 112 added 5 changesets with 2 changes to 2 files
113 113 new changesets *:* (glob)
114 114 (run 'hg update' to get a working copy)
115 115 $ hg update -r 'desc("add wider")'
116 116 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
117 117 $ cat wider/f
118 118 wider
119 119
120 120 $ hg update -r 'desc("update inside")'
121 121 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
122 122 $ cat wider/f
123 123 wider
124 124 $ cat inside/f
125 125 inside v2
126 126
127 127 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
128 128 7: update widest v4
129 129 6: add outside2
130 130 5: update inside
131 131 4: update widest v3
132 132 3: add wider, update widest
133 133 2: add outside
134 134 1: add widest
135 135 0: add inside
136 136
137 137 Check that widening with a newline fails
138 138
139 139 $ hg tracked --addinclude 'widest
140 140 > '
141 141 abort: newlines are not allowed in narrowspec paths
142 142 [255]
143 143
144 144 widen the narrow spec to include the widest file
145 145
146 146 $ hg tracked --addinclude widest
147 147 comparing with ssh://user@dummy/master
148 148 searching for changes
149 149 no changes found
150 150 adding changesets
151 151 adding manifests
152 152 adding file changes
153 153 added 0 changesets with 4 changes to 3 files
154 154 5 local changesets published
155 155 $ hg tracked
156 156 I path:inside
157 157 I path:wider/f
158 158 I path:widest
159 159 $ hg update 'desc("add widest")'
160 160 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
161 161 $ cat widest/f
162 162 widest
163 163 $ hg update 'desc("add wider, update widest")'
164 164 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
165 165 $ cat wider/f
166 166 wider
167 167 $ cat widest/f
168 168 widest v2
169 169 $ hg update 'desc("update widest v3")'
170 170 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
171 171 $ cat widest/f
172 172 widest v3
173 173 $ hg update 'desc("update widest v4")'
174 174 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
175 175 $ cat widest/f
176 176 widest v4
177 177
178 178 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
179 179 7: update widest v4
180 180 6: add outside2
181 181 5: update inside
182 182 4: update widest v3
183 183 3: add wider, update widest
184 184 2: add outside
185 185 1: add widest
186 186 0: add inside
187 187
188 188 separate suite of tests: files from 0-10 modified in changes 0-10. This allows
189 189 more obvious precise tests tickling particular corner cases.
190 190
191 191 $ cd ..
192 192 $ hg init upstream
193 193 $ cd upstream
194 194 $ for x in `$TESTDIR/seq.py 0 10`
195 195 > do
196 196 > mkdir d$x
197 197 > echo $x > d$x/f
198 198 > hg add d$x/f
199 199 > hg commit -m "add d$x/f"
200 200 > done
201 201 $ hg log -T "{rev}: {desc}\n"
202 202 10: add d10/f
203 203 9: add d9/f
204 204 8: add d8/f
205 205 7: add d7/f
206 206 6: add d6/f
207 207 5: add d5/f
208 208 4: add d4/f
209 209 3: add d3/f
210 210 2: add d2/f
211 211 1: add d1/f
212 212 0: add d0/f
213 213
214 214 make narrow clone with every third node.
215 215
216 216 $ cd ..
217 217 $ hg clone --narrow ssh://user@dummy/upstream narrow2 --include d0 --include d3 --include d6 --include d9
218 218 requesting all changes
219 219 adding changesets
220 220 adding manifests
221 221 adding file changes
222 222 added 11 changesets with 4 changes to 4 files
223 223 new changesets *:* (glob)
224 224 updating to branch default
225 225 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
226 226 $ cd narrow2
227 227 $ hg tracked
228 228 I path:d0
229 229 I path:d3
230 230 I path:d6
231 231 I path:d9
232 232 $ hg verify
233 233 checking changesets
234 234 checking manifests
235 235 checking directory manifests (tree !)
236 236 crosschecking files in changesets and manifests
237 237 checking files
238 238 4 files, 11 changesets, 4 total revisions
239 239 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
240 240 10: add d10/f
241 241 9: add d9/f
242 242 8: add d8/f
243 243 7: add d7/f
244 244 6: add d6/f
245 245 5: add d5/f
246 246 4: add d4/f
247 247 3: add d3/f
248 248 2: add d2/f
249 249 1: add d1/f
250 250 0: add d0/f
251 251 $ hg tracked --addinclude d1
252 252 comparing with ssh://user@dummy/upstream
253 253 searching for changes
254 254 no changes found
255 255 adding changesets
256 256 adding manifests
257 257 adding file changes
258 258 added 0 changesets with 1 changes to 5 files
259 259 11 local changesets published
260 260 $ hg tracked
261 261 I path:d0
262 262 I path:d1
263 263 I path:d3
264 264 I path:d6
265 265 I path:d9
266 266 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
267 267 10: add d10/f
268 268 9: add d9/f
269 269 8: add d8/f
270 270 7: add d7/f
271 271 6: add d6/f
272 272 5: add d5/f
273 273 4: add d4/f
274 274 3: add d3/f
275 275 2: add d2/f
276 276 1: add d1/f
277 277 0: add d0/f
278 278
279 279 Verify shouldn't claim the repo is corrupt after a widen.
280 280
281 281 $ hg verify
282 282 checking changesets
283 283 checking manifests
284 284 checking directory manifests (tree !)
285 285 crosschecking files in changesets and manifests
286 286 checking files
287 287 5 files, 11 changesets, 5 total revisions
288 288
289 289 Widening preserves parent of local commit
290 290
291 291 $ cd ..
292 292 $ hg clone -q --narrow ssh://user@dummy/upstream narrow3 --include d2 -r 2
293 293 $ cd narrow3
294 294 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
295 295 2: add d2/f
296 296 1: add d1/f
297 297 0: add d0/f
298 298 $ hg pull -q -r 3
299 299 $ hg co -q tip
300 300 $ hg pull -q -r 4
301 301 $ echo local > d2/f
302 302 $ hg ci -m local
303 303 created new head
304 304 $ hg tracked -q --addinclude d0 --addinclude d9
305 305
306 306 Widening preserves bookmarks
307 307
308 308 $ cd ..
309 309 $ hg clone -q --narrow ssh://user@dummy/upstream narrow-bookmarks --include d4
310 310 $ cd narrow-bookmarks
311 311 $ echo local > d4/f
312 312 $ hg ci -m local
313 313 $ hg bookmarks bookmark
314 314 $ hg bookmarks
315 315 * bookmark 11:* (glob)
316 316 $ hg -q tracked --addinclude d2
317 317 $ hg bookmarks
318 318 * bookmark 11:* (glob)
319 319 $ hg log -r bookmark -T '{desc}\n'
320 320 local
321 321
322 322 Widening that fails can be recovered from
323 323
324 324 $ cd ..
325 325 $ hg clone -q --narrow ssh://user@dummy/upstream interrupted --include d0
326 326 $ cd interrupted
327 327 $ echo local > d0/f
328 328 $ hg ci -m local
329 329 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
330 330 11: local
331 331 10: add d10/f
332 332 9: add d9/f
333 333 8: add d8/f
334 334 7: add d7/f
335 335 6: add d6/f
336 336 5: add d5/f
337 337 4: add d4/f
338 338 3: add d3/f
339 339 2: add d2/f
340 340 1: add d1/f
341 341 0: add d0/f
342 342 $ hg bookmarks bookmark
343 343 $ hg --config hooks.pretxnchangegroup.bad=false tracked --addinclude d1
344 344 comparing with ssh://user@dummy/upstream
345 345 searching for changes
346 346 no changes found
347 347 adding changesets
348 348 adding manifests
349 349 adding file changes
350 350 added 0 changesets with 1 changes to 2 files
351 351 11 local changesets published
352 352 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
353 353 11: local
354 354 10: add d10/f
355 355 9: add d9/f
356 356 8: add d8/f
357 357 7: add d7/f
358 358 6: add d6/f
359 359 5: add d5/f
360 360 4: add d4/f
361 361 3: add d3/f
362 362 2: add d2/f
363 363 1: add d1/f
364 364 0: add d0/f
365 365 $ hg bookmarks
366 366 * bookmark 11:* (glob)
367 367 $ hg unbundle .hg/strip-backup/*-widen.hg
368 abort: $ENOENT$: .hg/strip-backup/*-widen.hg
368 abort: .hg/strip-backup/*-widen.hg: $ENOTDIR$ (windows !)
369 abort: $ENOENT$: .hg/strip-backup/*-widen.hg (no-windows !)
369 370 [255]
370 371 $ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
371 372 11: local
372 373 10: add d10/f
373 374 9: add d9/f
374 375 8: add d8/f
375 376 7: add d7/f
376 377 6: add d6/f
377 378 5: add d5/f
378 379 4: add d4/f
379 380 3: add d3/f
380 381 2: add d2/f
381 382 1: add d1/f
382 383 0: add d0/f
383 384 $ hg bookmarks
384 385 * bookmark 11:* (glob)
General Comments 0
You need to be logged in to leave comments. Login now