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