##// END OF EJS Templates
tests: put test-treemanifest.t on a port diet...
timeless -
r28168:1a943a3a default
parent child Browse files
Show More
@@ -1,661 +1,666 b''
1 #require killdaemons
2
1 3 $ cat << EOF >> $HGRCPATH
2 4 > [format]
3 5 > usegeneraldelta=yes
4 6 > [ui]
5 7 > ssh=python "$TESTDIR/dummyssh"
6 8 > EOF
7 9
8 10 Set up repo
9 11
10 12 $ hg --config experimental.treemanifest=True init repo
11 13 $ cd repo
12 14
13 15 Requirements get set on init
14 16
15 17 $ grep treemanifest .hg/requires
16 18 treemanifest
17 19
18 20 Without directories, looks like any other repo
19 21
20 22 $ echo 0 > a
21 23 $ echo 0 > b
22 24 $ hg ci -Aqm initial
23 25 $ hg debugdata -m 0
24 26 a\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
25 27 b\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
26 28
27 29 Submanifest is stored in separate revlog
28 30
29 31 $ mkdir dir1
30 32 $ echo 1 > dir1/a
31 33 $ echo 1 > dir1/b
32 34 $ echo 1 > e
33 35 $ hg ci -Aqm 'add dir1'
34 36 $ hg debugdata -m 1
35 37 a\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
36 38 b\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc)
37 39 dir1\x008b3ffd73f901e83304c83d33132c8e774ceac44et (esc)
38 40 e\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
39 41 $ hg debugdata --dir dir1 0
40 42 a\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
41 43 b\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
42 44
43 45 Can add nested directories
44 46
45 47 $ mkdir dir1/dir1
46 48 $ echo 2 > dir1/dir1/a
47 49 $ echo 2 > dir1/dir1/b
48 50 $ mkdir dir1/dir2
49 51 $ echo 2 > dir1/dir2/a
50 52 $ echo 2 > dir1/dir2/b
51 53 $ hg ci -Aqm 'add dir1/dir1'
52 54 $ hg files -r .
53 55 a
54 56 b
55 57 dir1/a (glob)
56 58 dir1/b (glob)
57 59 dir1/dir1/a (glob)
58 60 dir1/dir1/b (glob)
59 61 dir1/dir2/a (glob)
60 62 dir1/dir2/b (glob)
61 63 e
62 64
63 65 Revision is not created for unchanged directory
64 66
65 67 $ mkdir dir2
66 68 $ echo 3 > dir2/a
67 69 $ hg add dir2
68 70 adding dir2/a (glob)
69 71 $ hg debugindex --dir dir1 > before
70 72 $ hg ci -qm 'add dir2'
71 73 $ hg debugindex --dir dir1 > after
72 74 $ diff before after
73 75 $ rm before after
74 76
75 77 Removing directory does not create an revlog entry
76 78
77 79 $ hg rm dir1/dir1
78 80 removing dir1/dir1/a (glob)
79 81 removing dir1/dir1/b (glob)
80 82 $ hg debugindex --dir dir1/dir1 > before
81 83 $ hg ci -qm 'remove dir1/dir1'
82 84 $ hg debugindex --dir dir1/dir1 > after
83 85 $ diff before after
84 86 $ rm before after
85 87
86 88 Check that hg files (calls treemanifest.walk()) works
87 89 without loading all directory revlogs
88 90
89 91 $ hg co 'desc("add dir2")'
90 92 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
91 93 $ mv .hg/store/meta/dir2 .hg/store/meta/dir2-backup
92 94 $ hg files -r . dir1
93 95 dir1/a (glob)
94 96 dir1/b (glob)
95 97 dir1/dir1/a (glob)
96 98 dir1/dir1/b (glob)
97 99 dir1/dir2/a (glob)
98 100 dir1/dir2/b (glob)
99 101
100 102 Check that status between revisions works (calls treemanifest.matches())
101 103 without loading all directory revlogs
102 104
103 105 $ hg status --rev 'desc("add dir1")' --rev . dir1
104 106 A dir1/dir1/a
105 107 A dir1/dir1/b
106 108 A dir1/dir2/a
107 109 A dir1/dir2/b
108 110 $ mv .hg/store/meta/dir2-backup .hg/store/meta/dir2
109 111
110 112 Merge creates 2-parent revision of directory revlog
111 113
112 114 $ echo 5 > dir1/a
113 115 $ hg ci -Aqm 'modify dir1/a'
114 116 $ hg co '.^'
115 117 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
116 118 $ echo 6 > dir1/b
117 119 $ hg ci -Aqm 'modify dir1/b'
118 120 $ hg merge 'desc("modify dir1/a")'
119 121 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
120 122 (branch merge, don't forget to commit)
121 123 $ hg ci -m 'conflict-free merge involving dir1/'
122 124 $ cat dir1/a
123 125 5
124 126 $ cat dir1/b
125 127 6
126 128 $ hg debugindex --dir dir1
127 129 rev offset length delta linkrev nodeid p1 p2
128 130 0 0 54 -1 1 8b3ffd73f901 000000000000 000000000000
129 131 1 54 68 0 2 68e9d057c5a8 8b3ffd73f901 000000000000
130 132 2 122 12 1 4 4698198d2624 68e9d057c5a8 000000000000
131 133 3 134 55 1 5 44844058ccce 68e9d057c5a8 000000000000
132 134 4 189 55 1 6 bf3d9b744927 68e9d057c5a8 000000000000
133 135 5 244 55 4 7 dde7c0af2a03 bf3d9b744927 44844058ccce
134 136
135 137 Merge keeping directory from parent 1 does not create revlog entry. (Note that
136 138 dir1's manifest does change, but only because dir1/a's filelog changes.)
137 139
138 140 $ hg co 'desc("add dir2")'
139 141 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
140 142 $ echo 8 > dir2/a
141 143 $ hg ci -m 'modify dir2/a'
142 144 created new head
143 145
144 146 $ hg debugindex --dir dir2 > before
145 147 $ hg merge 'desc("modify dir1/a")'
146 148 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
147 149 (branch merge, don't forget to commit)
148 150 $ hg revert -r 'desc("modify dir2/a")' .
149 151 reverting dir1/a (glob)
150 152 $ hg ci -m 'merge, keeping parent 1'
151 153 $ hg debugindex --dir dir2 > after
152 154 $ diff before after
153 155 $ rm before after
154 156
155 157 Merge keeping directory from parent 2 does not create revlog entry. (Note that
156 158 dir2's manifest does change, but only because dir2/a's filelog changes.)
157 159
158 160 $ hg co 'desc("modify dir2/a")'
159 161 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
160 162 $ hg debugindex --dir dir1 > before
161 163 $ hg merge 'desc("modify dir1/a")'
162 164 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
163 165 (branch merge, don't forget to commit)
164 166 $ hg revert -r 'desc("modify dir1/a")' .
165 167 reverting dir2/a (glob)
166 168 $ hg ci -m 'merge, keeping parent 2'
167 169 created new head
168 170 $ hg debugindex --dir dir1 > after
169 171 $ diff before after
170 172 $ rm before after
171 173
172 174 Create flat source repo for tests with mixed flat/tree manifests
173 175
174 176 $ cd ..
175 177 $ hg init repo-flat
176 178 $ cd repo-flat
177 179
178 180 Create a few commits with flat manifest
179 181
180 182 $ echo 0 > a
181 183 $ echo 0 > b
182 184 $ echo 0 > e
183 185 $ for d in dir1 dir1/dir1 dir1/dir2 dir2
184 186 > do
185 187 > mkdir $d
186 188 > echo 0 > $d/a
187 189 > echo 0 > $d/b
188 190 > done
189 191 $ hg ci -Aqm initial
190 192
191 193 $ echo 1 > a
192 194 $ echo 1 > dir1/a
193 195 $ echo 1 > dir1/dir1/a
194 196 $ hg ci -Aqm 'modify on branch 1'
195 197
196 198 $ hg co 0
197 199 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
198 200 $ echo 2 > b
199 201 $ echo 2 > dir1/b
200 202 $ echo 2 > dir1/dir1/b
201 203 $ hg ci -Aqm 'modify on branch 2'
202 204
203 205 $ hg merge 1
204 206 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
205 207 (branch merge, don't forget to commit)
206 208 $ hg ci -m 'merge of flat manifests to new flat manifest'
207 209
208 210 $ hg serve -p $HGPORT -d --pid-file=hg.pid --errorlog=errors.log
209 211 $ cat hg.pid >> $DAEMON_PIDS
210 212
211 213 Create clone with tree manifests enabled
212 214
213 215 $ cd ..
214 216 $ hg clone --config experimental.treemanifest=1 \
215 217 > http://localhost:$HGPORT repo-mixed -r 1
216 218 adding changesets
217 219 adding manifests
218 220 adding file changes
219 221 added 2 changesets with 14 changes to 11 files
220 222 updating to branch default
221 223 11 files updated, 0 files merged, 0 files removed, 0 files unresolved
222 224 $ cd repo-mixed
223 225 $ test -d .hg/store/meta
224 226 [1]
225 227 $ grep treemanifest .hg/requires
226 228 treemanifest
227 229
228 230 Should be possible to push updates from flat to tree manifest repo
229 231
230 232 $ hg -R ../repo-flat push ssh://user@dummy/repo-mixed
231 233 pushing to ssh://user@dummy/repo-mixed
232 234 searching for changes
233 235 remote: adding changesets
234 236 remote: adding manifests
235 237 remote: adding file changes
236 238 remote: added 2 changesets with 3 changes to 3 files
237 239
238 240 Commit should store revlog per directory
239 241
240 242 $ hg co 1
241 243 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
242 244 $ echo 3 > a
243 245 $ echo 3 > dir1/a
244 246 $ echo 3 > dir1/dir1/a
245 247 $ hg ci -m 'first tree'
246 248 created new head
247 249 $ find .hg/store/meta | sort
248 250 .hg/store/meta
249 251 .hg/store/meta/dir1
250 252 .hg/store/meta/dir1/00manifest.i
251 253 .hg/store/meta/dir1/dir1
252 254 .hg/store/meta/dir1/dir1/00manifest.i
253 255 .hg/store/meta/dir1/dir2
254 256 .hg/store/meta/dir1/dir2/00manifest.i
255 257 .hg/store/meta/dir2
256 258 .hg/store/meta/dir2/00manifest.i
257 259
258 260 Merge of two trees
259 261
260 262 $ hg co 2
261 263 6 files updated, 0 files merged, 0 files removed, 0 files unresolved
262 264 $ hg merge 1
263 265 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
264 266 (branch merge, don't forget to commit)
265 267 $ hg ci -m 'merge of flat manifests to new tree manifest'
266 268 created new head
267 269 $ hg diff -r 3
268 270
269 271 Parent of tree root manifest should be flat manifest, and two for merge
270 272
271 273 $ hg debugindex -m
272 274 rev offset length delta linkrev nodeid p1 p2
273 275 0 0 80 -1 0 40536115ed9e 000000000000 000000000000
274 276 1 80 83 0 1 f3376063c255 40536115ed9e 000000000000
275 277 2 163 89 0 2 5d9b9da231a2 40536115ed9e 000000000000
276 278 3 252 83 2 3 d17d663cbd8a 5d9b9da231a2 f3376063c255
277 279 4 335 124 1 4 51e32a8c60ee f3376063c255 000000000000
278 280 5 459 126 2 5 cc5baa78b230 5d9b9da231a2 f3376063c255
279 281
280 282
281 283 Status across flat/tree boundary should work
282 284
283 285 $ hg status --rev '.^' --rev .
284 286 M a
285 287 M dir1/a
286 288 M dir1/dir1/a
287 289
288 290
289 291 Turning off treemanifest config has no effect
290 292
291 293 $ hg debugindex --dir dir1
292 294 rev offset length delta linkrev nodeid p1 p2
293 295 0 0 127 -1 4 064927a0648a 000000000000 000000000000
294 296 1 127 111 0 5 25ecb8cb8618 000000000000 000000000000
295 297 $ echo 2 > dir1/a
296 298 $ hg --config experimental.treemanifest=False ci -qm 'modify dir1/a'
297 299 $ hg debugindex --dir dir1
298 300 rev offset length delta linkrev nodeid p1 p2
299 301 0 0 127 -1 4 064927a0648a 000000000000 000000000000
300 302 1 127 111 0 5 25ecb8cb8618 000000000000 000000000000
301 303 2 238 55 1 6 5b16163a30c6 25ecb8cb8618 000000000000
302 304
303 305 Stripping and recovering changes should work
304 306
305 307 $ hg st --change tip
306 308 M dir1/a
307 309 $ hg --config extensions.strip= strip tip
308 310 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
309 311 saved backup bundle to $TESTTMP/repo-mixed/.hg/strip-backup/51cfd7b1e13b-78a2f3ed-backup.hg (glob)
310 312 $ hg unbundle -q .hg/strip-backup/*
311 313 $ hg st --change tip
312 314 M dir1/a
313 315
314 316 Shelving and unshelving should work
315 317
316 318 $ echo foo >> dir1/a
317 319 $ hg --config extensions.shelve= shelve
318 320 shelved as default
319 321 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
320 322 $ hg --config extensions.shelve= unshelve
321 323 unshelving change 'default'
322 324 $ hg diff --nodates
323 325 diff -r 708a273da119 dir1/a
324 326 --- a/dir1/a
325 327 +++ b/dir1/a
326 328 @@ -1,1 +1,2 @@
327 329 1
328 330 +foo
329 331
330 332 Pushing from treemanifest repo to an empty repo makes that a treemanifest repo
331 333
332 334 $ cd ..
333 335 $ hg init empty-repo
334 336 $ cat << EOF >> empty-repo/.hg/hgrc
335 337 > [experimental]
336 338 > changegroup3=yes
337 339 > EOF
338 340 $ grep treemanifest empty-repo/.hg/requires
339 341 [1]
340 342 $ hg push -R repo -r 0 empty-repo
341 343 pushing to empty-repo
342 344 searching for changes
343 345 adding changesets
344 346 adding manifests
345 347 adding file changes
346 348 added 1 changesets with 2 changes to 2 files
347 349 $ grep treemanifest empty-repo/.hg/requires
348 350 treemanifest
349 351
350 352 Pushing to an empty repo works
351 353
352 354 $ hg --config experimental.treemanifest=1 init clone
353 355 $ grep treemanifest clone/.hg/requires
354 356 treemanifest
355 357 $ hg push -R repo clone
356 358 pushing to clone
357 359 searching for changes
358 360 adding changesets
359 361 adding manifests
360 362 adding file changes
361 363 added 11 changesets with 15 changes to 10 files (+3 heads)
362 364 $ grep treemanifest clone/.hg/requires
363 365 treemanifest
364 366
365 367 Create deeper repo with tree manifests.
366 368
367 369 $ hg --config experimental.treemanifest=True init deeprepo
368 370 $ cd deeprepo
369 371
370 372 $ mkdir .A
371 373 $ mkdir b
372 374 $ mkdir b/bar
373 375 $ mkdir b/bar/orange
374 376 $ mkdir b/bar/orange/fly
375 377 $ mkdir b/foo
376 378 $ mkdir b/foo/apple
377 379 $ mkdir b/foo/apple/bees
378 380
379 381 $ touch .A/one.txt
380 382 $ touch .A/two.txt
381 383 $ touch b/bar/fruits.txt
382 384 $ touch b/bar/orange/fly/gnat.py
383 385 $ touch b/bar/orange/fly/housefly.txt
384 386 $ touch b/foo/apple/bees/flower.py
385 387 $ touch c.txt
386 388 $ touch d.py
387 389
388 390 $ hg ci -Aqm 'initial'
389 391
390 392 We'll see that visitdir works by removing some treemanifest revlogs and running
391 393 the files command with various parameters.
392 394
393 395 Test files from the root.
394 396
395 397 $ hg files -r .
396 398 .A/one.txt (glob)
397 399 .A/two.txt (glob)
398 400 b/bar/fruits.txt (glob)
399 401 b/bar/orange/fly/gnat.py (glob)
400 402 b/bar/orange/fly/housefly.txt (glob)
401 403 b/foo/apple/bees/flower.py (glob)
402 404 c.txt
403 405 d.py
404 406
405 407 Excludes with a glob should not exclude everything from the glob's root
406 408
407 409 $ hg files -r . -X 'b/fo?' b
408 410 b/bar/fruits.txt (glob)
409 411 b/bar/orange/fly/gnat.py (glob)
410 412 b/bar/orange/fly/housefly.txt (glob)
411 413 $ cp -r .hg/store .hg/store-copy
412 414
413 415 Test files for a subdirectory.
414 416
415 417 $ rm -r .hg/store/meta/~2e_a
416 418 $ hg files -r . b
417 419 b/bar/fruits.txt (glob)
418 420 b/bar/orange/fly/gnat.py (glob)
419 421 b/bar/orange/fly/housefly.txt (glob)
420 422 b/foo/apple/bees/flower.py (glob)
421 423 $ cp -r .hg/store-copy/* .hg/store
422 424
423 425 Test files with just includes and excludes.
424 426
425 427 $ rm -r .hg/store/meta/~2e_a
426 428 $ rm -r .hg/store/meta/b/bar/orange/fly
427 429 $ rm -r .hg/store/meta/b/foo/apple/bees
428 430 $ hg files -r . -I path:b/bar -X path:b/bar/orange/fly -I path:b/foo -X path:b/foo/apple/bees
429 431 b/bar/fruits.txt (glob)
430 432 $ cp -r .hg/store-copy/* .hg/store
431 433
432 434 Test files for a subdirectory, excluding a directory within it.
433 435
434 436 $ rm -r .hg/store/meta/~2e_a
435 437 $ rm -r .hg/store/meta/b/foo
436 438 $ hg files -r . -X path:b/foo b
437 439 b/bar/fruits.txt (glob)
438 440 b/bar/orange/fly/gnat.py (glob)
439 441 b/bar/orange/fly/housefly.txt (glob)
440 442 $ cp -r .hg/store-copy/* .hg/store
441 443
442 444 Test files for a sub directory, including only a directory within it, and
443 445 including an unrelated directory.
444 446
445 447 $ rm -r .hg/store/meta/~2e_a
446 448 $ rm -r .hg/store/meta/b/foo
447 449 $ hg files -r . -I path:b/bar/orange -I path:a b
448 450 b/bar/orange/fly/gnat.py (glob)
449 451 b/bar/orange/fly/housefly.txt (glob)
450 452 $ cp -r .hg/store-copy/* .hg/store
451 453
452 454 Test files for a pattern, including a directory, and excluding a directory
453 455 within that.
454 456
455 457 $ rm -r .hg/store/meta/~2e_a
456 458 $ rm -r .hg/store/meta/b/foo
457 459 $ rm -r .hg/store/meta/b/bar/orange
458 460 $ hg files -r . glob:**.txt -I path:b/bar -X path:b/bar/orange
459 461 b/bar/fruits.txt (glob)
460 462 $ cp -r .hg/store-copy/* .hg/store
461 463
462 464 Add some more changes to the deep repo
463 465 $ echo narf >> b/bar/fruits.txt
464 466 $ hg ci -m narf
465 467 $ echo troz >> b/bar/orange/fly/gnat.py
466 468 $ hg ci -m troz
467 469
468 470 Verify works
469 471 $ hg verify
470 472 checking changesets
471 473 checking manifests
472 474 crosschecking files in changesets and manifests
473 475 checking files
474 476 8 files, 3 changesets, 10 total revisions
475 477
476 478 Dirlogs are included in fncache
477 479 $ grep meta/.A/00manifest.i .hg/store/fncache
478 480 meta/.A/00manifest.i
479 481
480 482 Rebuilt fncache includes dirlogs
481 483 $ rm .hg/store/fncache
482 484 $ hg debugrebuildfncache
483 485 adding data/.A/one.txt.i
484 486 adding data/.A/two.txt.i
485 487 adding data/b/bar/fruits.txt.i
486 488 adding data/b/bar/orange/fly/gnat.py.i
487 489 adding data/b/bar/orange/fly/housefly.txt.i
488 490 adding data/b/foo/apple/bees/flower.py.i
489 491 adding data/c.txt.i
490 492 adding data/d.py.i
491 493 adding meta/.A/00manifest.i
492 494 adding meta/b/00manifest.i
493 495 adding meta/b/bar/00manifest.i
494 496 adding meta/b/bar/orange/00manifest.i
495 497 adding meta/b/bar/orange/fly/00manifest.i
496 498 adding meta/b/foo/00manifest.i
497 499 adding meta/b/foo/apple/00manifest.i
498 500 adding meta/b/foo/apple/bees/00manifest.i
499 501 16 items added, 0 removed from fncache
500 502
503 Finish first server
504 $ killdaemons.py
505
501 506 Test cloning a treemanifest repo over http.
502 $ hg serve -p $HGPORT2 -d --pid-file=hg.pid --errorlog=errors.log
507 $ hg serve -p $HGPORT -d --pid-file=hg.pid --errorlog=errors.log
503 508 $ cat hg.pid >> $DAEMON_PIDS
504 509 $ cd ..
505 510 We can clone even with the knob turned off and we'll get a treemanifest repo.
506 511 $ hg clone --config experimental.treemanifest=False \
507 512 > --config experimental.changegroup3=True \
508 > http://localhost:$HGPORT2 deepclone
513 > http://localhost:$HGPORT deepclone
509 514 requesting all changes
510 515 adding changesets
511 516 adding manifests
512 517 adding file changes
513 518 added 3 changesets with 10 changes to 8 files
514 519 updating to branch default
515 520 8 files updated, 0 files merged, 0 files removed, 0 files unresolved
516 521 No server errors.
517 522 $ cat deeprepo/errors.log
518 523 requires got updated to include treemanifest
519 524 $ cat deepclone/.hg/requires | grep treemanifest
520 525 treemanifest
521 526 Tree manifest revlogs exist.
522 527 $ find deepclone/.hg/store/meta | sort
523 528 deepclone/.hg/store/meta
524 529 deepclone/.hg/store/meta/b
525 530 deepclone/.hg/store/meta/b/00manifest.i
526 531 deepclone/.hg/store/meta/b/bar
527 532 deepclone/.hg/store/meta/b/bar/00manifest.i
528 533 deepclone/.hg/store/meta/b/bar/orange
529 534 deepclone/.hg/store/meta/b/bar/orange/00manifest.i
530 535 deepclone/.hg/store/meta/b/bar/orange/fly
531 536 deepclone/.hg/store/meta/b/bar/orange/fly/00manifest.i
532 537 deepclone/.hg/store/meta/b/foo
533 538 deepclone/.hg/store/meta/b/foo/00manifest.i
534 539 deepclone/.hg/store/meta/b/foo/apple
535 540 deepclone/.hg/store/meta/b/foo/apple/00manifest.i
536 541 deepclone/.hg/store/meta/b/foo/apple/bees
537 542 deepclone/.hg/store/meta/b/foo/apple/bees/00manifest.i
538 543 deepclone/.hg/store/meta/~2e_a
539 544 deepclone/.hg/store/meta/~2e_a/00manifest.i
540 545 Verify passes.
541 546 $ cd deepclone
542 547 $ hg verify
543 548 checking changesets
544 549 checking manifests
545 550 crosschecking files in changesets and manifests
546 551 checking files
547 552 8 files, 3 changesets, 10 total revisions
548 553 $ cd ..
549 554
550 555 Create clones using old repo formats to use in later tests
551 556 $ hg clone --config format.usestore=False \
552 557 > --config experimental.changegroup3=True \
553 > http://localhost:$HGPORT2 deeprepo-basicstore
558 > http://localhost:$HGPORT deeprepo-basicstore
554 559 requesting all changes
555 560 adding changesets
556 561 adding manifests
557 562 adding file changes
558 563 added 3 changesets with 10 changes to 8 files
559 564 updating to branch default
560 565 8 files updated, 0 files merged, 0 files removed, 0 files unresolved
561 566 $ cd deeprepo-basicstore
562 567 $ grep store .hg/requires
563 568 [1]
564 $ hg serve -p $HGPORT3 -d --pid-file=hg.pid --errorlog=errors.log
569 $ hg serve -p $HGPORT1 -d --pid-file=hg.pid --errorlog=errors.log
565 570 $ cat hg.pid >> $DAEMON_PIDS
566 571 $ cd ..
567 572 $ hg clone --config format.usefncache=False \
568 573 > --config experimental.changegroup3=True \
569 > http://localhost:$HGPORT2 deeprepo-encodedstore
574 > http://localhost:$HGPORT deeprepo-encodedstore
570 575 requesting all changes
571 576 adding changesets
572 577 adding manifests
573 578 adding file changes
574 579 added 3 changesets with 10 changes to 8 files
575 580 updating to branch default
576 581 8 files updated, 0 files merged, 0 files removed, 0 files unresolved
577 582 $ cd deeprepo-encodedstore
578 583 $ grep fncache .hg/requires
579 584 [1]
580 $ hg serve -p $HGPORT4 -d --pid-file=hg.pid --errorlog=errors.log
585 $ hg serve -p $HGPORT2 -d --pid-file=hg.pid --errorlog=errors.log
581 586 $ cat hg.pid >> $DAEMON_PIDS
582 587 $ cd ..
583 588
584 589 Local clone with basicstore
585 590 $ hg clone -U deeprepo-basicstore local-clone-basicstore
586 591 $ hg -R local-clone-basicstore verify
587 592 checking changesets
588 593 checking manifests
589 594 crosschecking files in changesets and manifests
590 595 checking files
591 596 8 files, 3 changesets, 10 total revisions
592 597
593 598 Local clone with encodedstore
594 599 $ hg clone -U deeprepo-encodedstore local-clone-encodedstore
595 600 $ hg -R local-clone-encodedstore verify
596 601 checking changesets
597 602 checking manifests
598 603 crosschecking files in changesets and manifests
599 604 checking files
600 605 8 files, 3 changesets, 10 total revisions
601 606
602 607 Local clone with fncachestore
603 608 $ hg clone -U deeprepo local-clone-fncachestore
604 609 $ hg -R local-clone-fncachestore verify
605 610 checking changesets
606 611 checking manifests
607 612 crosschecking files in changesets and manifests
608 613 checking files
609 614 8 files, 3 changesets, 10 total revisions
610 615
611 616 Stream clone with basicstore
612 617 $ hg clone --config experimental.changegroup3=True --uncompressed -U \
613 > http://localhost:$HGPORT3 stream-clone-basicstore
618 > http://localhost:$HGPORT1 stream-clone-basicstore
614 619 streaming all changes
615 620 18 files to transfer, * of data (glob)
616 621 transferred * in * seconds (*) (glob)
617 622 searching for changes
618 623 no changes found
619 624 $ hg -R stream-clone-basicstore verify
620 625 checking changesets
621 626 checking manifests
622 627 crosschecking files in changesets and manifests
623 628 checking files
624 629 8 files, 3 changesets, 10 total revisions
625 630
626 631 Stream clone with encodedstore
627 632 $ hg clone --config experimental.changegroup3=True --uncompressed -U \
628 > http://localhost:$HGPORT4 stream-clone-encodedstore
633 > http://localhost:$HGPORT2 stream-clone-encodedstore
629 634 streaming all changes
630 635 18 files to transfer, * of data (glob)
631 636 transferred * in * seconds (*) (glob)
632 637 searching for changes
633 638 no changes found
634 639 $ hg -R stream-clone-encodedstore verify
635 640 checking changesets
636 641 checking manifests
637 642 crosschecking files in changesets and manifests
638 643 checking files
639 644 8 files, 3 changesets, 10 total revisions
640 645
641 646 Stream clone with fncachestore
642 647 $ hg clone --config experimental.changegroup3=True --uncompressed -U \
643 > http://localhost:$HGPORT2 stream-clone-fncachestore
648 > http://localhost:$HGPORT stream-clone-fncachestore
644 649 streaming all changes
645 650 18 files to transfer, * of data (glob)
646 651 transferred * in * seconds (*) (glob)
647 652 searching for changes
648 653 no changes found
649 654 $ hg -R stream-clone-fncachestore verify
650 655 checking changesets
651 656 checking manifests
652 657 crosschecking files in changesets and manifests
653 658 checking files
654 659 8 files, 3 changesets, 10 total revisions
655 660
656 661 Packed bundle
657 662 $ hg -R deeprepo debugcreatestreamclonebundle repo-packed.hg
658 663 writing 3349 bytes for 18 files
659 664 bundle requirements: generaldelta, revlogv1, treemanifest
660 665 $ hg debugbundle --spec repo-packed.hg
661 666 none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Ctreemanifest
General Comments 0
You need to be logged in to leave comments. Login now