291 $ rm -rf $CACHEDIR/master/packs/* |
291 $ rm -rf $CACHEDIR/master/packs/* |
292 $ cat >> .hg/hgrc <<EOF |
292 $ cat >> .hg/hgrc <<EOF |
293 > [remotefilelog] |
293 > [remotefilelog] |
294 > data.generations=60 |
294 > data.generations=60 |
295 > 150 |
295 > 150 |
296 > fetchpacks=True |
|
297 > EOF |
296 > EOF |
298 |
297 |
299 Single pack - repack does nothing |
298 Single pack - repack does nothing |
300 $ hg prefetch -r 0 |
299 $ hg prefetch -r 0 |
301 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
300 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
302 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
301 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
303 -r--r--r-- 59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack |
302 [1] |
304 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
303 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
305 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
304 [1] |
306 $ hg repack --incremental |
305 $ hg repack --incremental |
307 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
306 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
308 -r--r--r-- 59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack |
307 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack |
309 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
308 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
310 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
309 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
311 |
310 |
312 3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1 |
311 3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1 |
313 $ hg prefetch -r 1 |
312 $ hg prefetch -r 1 |
314 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
313 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
315 $ hg prefetch -r 2 |
314 $ hg prefetch -r 2 |
316 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
315 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
317 $ hg prefetch -r 3 |
316 $ hg prefetch -r 38 |
318 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
317 abort: unknown revision '38'! |
319 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
318 [255] |
320 -r--r--r-- 59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack |
319 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
321 -r--r--r-- 65 6c499d21350d79f92fd556b4b7a902569d88e3c9.datapack |
320 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack |
322 -r--r--r-- 61 817d294043bd21a3de01f807721971abe45219ce.datapack |
321 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
323 -r--r--r-- 63 ff45add45ab3f59c4f75efc6a087d86c821219d6.datapack |
|
324 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
|
325 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack |
|
326 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack |
|
327 -r--r--r-- 172 276d308429d0303762befa376788300f0310f90e.histpack |
|
328 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
322 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
329 |
323 |
330 For the data packs, setting the limit for the repackmaxpacksize to be 64 such |
324 For the data packs, setting the limit for the repackmaxpacksize to be 64 such |
331 that data pack with size 65 is more than the limit. This effectively ensures |
325 that data pack with size 65 is more than the limit. This effectively ensures |
332 that no generation has 3 packs and therefore, no packs are chosen for the |
326 that no generation has 3 packs and therefore, no packs are chosen for the |
333 incremental repacking. As for the history packs, setting repackmaxpacksize to be |
327 incremental repacking. As for the history packs, setting repackmaxpacksize to be |
334 0 which should always result in no repacking. |
328 0 which should always result in no repacking. |
335 $ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=64 \ |
329 $ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=64 \ |
336 > --config remotefilelog.history.repackmaxpacksize=0 |
330 > --config remotefilelog.history.repackmaxpacksize=0 |
337 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
331 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
338 -r--r--r-- 59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack |
332 -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack |
339 -r--r--r-- 65 6c499d21350d79f92fd556b4b7a902569d88e3c9.datapack |
333 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack |
340 -r--r--r-- 61 817d294043bd21a3de01f807721971abe45219ce.datapack |
|
341 -r--r--r-- 63 ff45add45ab3f59c4f75efc6a087d86c821219d6.datapack |
|
342 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
334 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
343 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack |
335 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack |
344 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack |
|
345 -r--r--r-- 172 276d308429d0303762befa376788300f0310f90e.histpack |
|
346 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
336 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
347 |
337 |
348 Setting limit for the repackmaxpacksize to be the size of the biggest pack file |
338 Setting limit for the repackmaxpacksize to be the size of the biggest pack file |
349 which ensures that it is effectively ignored in the incremental repacking. |
339 which ensures that it is effectively ignored in the incremental repacking. |
350 $ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=65 \ |
340 $ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=65 \ |
351 > --config remotefilelog.history.repackmaxpacksize=336 |
341 > --config remotefilelog.history.repackmaxpacksize=336 |
352 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
342 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
353 -r--r--r-- 59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack |
343 -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack |
354 -r--r--r-- 225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack |
344 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack |
355 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
345 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
356 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack |
346 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack |
|
347 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
357 |
348 |
358 1 gen3 pack, 1 gen0 pack - does nothing |
349 1 gen3 pack, 1 gen0 pack - does nothing |
359 $ hg repack --incremental |
350 $ hg repack --incremental |
360 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
351 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
361 -r--r--r-- 59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack |
352 -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack |
362 -r--r--r-- 225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack |
353 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack |
363 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
354 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
364 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack |
355 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack |
|
356 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
365 |
357 |
366 Pull should run background repack |
358 Pull should run background repack |
367 $ cat >> .hg/hgrc <<EOF |
359 $ cat >> .hg/hgrc <<EOF |
368 > [remotefilelog] |
360 > [remotefilelog] |
369 > backgroundrepack=True |
361 > backgroundrepack=True |
370 > EOF |
362 > EOF |
371 $ clearcache |
363 $ clearcache |
372 $ hg prefetch -r 0 |
364 $ hg prefetch -r 0 |
373 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
365 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
374 $ hg prefetch -r 1 |
366 $ hg prefetch -r 1 |
375 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
367 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
376 $ hg prefetch -r 2 |
368 $ hg prefetch -r 2 |
377 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
369 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
378 $ hg prefetch -r 3 |
370 $ hg prefetch -r 3 |
379 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
371 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
380 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
|
381 -r--r--r-- 59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack |
|
382 -r--r--r-- 65 6c499d21350d79f92fd556b4b7a902569d88e3c9.datapack |
|
383 -r--r--r-- 61 817d294043bd21a3de01f807721971abe45219ce.datapack |
|
384 -r--r--r-- 63 ff45add45ab3f59c4f75efc6a087d86c821219d6.datapack |
|
385 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
|
386 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack |
|
387 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack |
|
388 -r--r--r-- 172 276d308429d0303762befa376788300f0310f90e.histpack |
|
389 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack |
|
390 |
372 |
391 $ hg pull |
373 $ hg pull |
392 pulling from ssh://user@dummy/master |
374 pulling from ssh://user@dummy/master |
393 searching for changes |
375 searching for changes |
394 no changes found |
376 no changes found |
395 (running background incremental repack) |
377 (running background incremental repack) |
396 $ sleep 0.5 |
378 $ sleep 0.5 |
397 $ hg debugwaitonrepack >/dev/null 2>&1 |
379 $ hg debugwaitonrepack >/dev/null 2>&1 |
398 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
380 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack |
399 -r--r--r-- 59 5b7dec902026f0cddb0ef8acb62f27b5698494d4.datapack |
381 -r--r--r-- 301 09b8bf49256b3fc2175977ba97d6402e91a9a604.datapack |
400 -r--r--r-- 225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack |
|
401 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
382 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack |
402 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack |
383 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack |
403 |
384 |
404 Test environment variable resolution |
385 Test environment variable resolution |
405 $ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH' |
386 $ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH' |
406 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
387 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
407 $ find $TESTTMP/envcache | sort |
388 $ find $TESTTMP/envcache | sort |
408 $TESTTMP/envcache |
389 $TESTTMP/envcache |
409 $TESTTMP/envcache/master |
390 $TESTTMP/envcache/master |
410 $TESTTMP/envcache/master/packs |
391 $TESTTMP/envcache/master/95 |
411 $TESTTMP/envcache/master/packs/54afbfda203716c1aa2636029ccc0df18165129e.dataidx |
392 $TESTTMP/envcache/master/95/cb0bfd2977c761298d9624e4b4d4c72a39974a |
412 $TESTTMP/envcache/master/packs/54afbfda203716c1aa2636029ccc0df18165129e.datapack |
393 $TESTTMP/envcache/master/95/cb0bfd2977c761298d9624e4b4d4c72a39974a/577959738234a1eb241ed3ed4b22a575833f56e0 |
413 $TESTTMP/envcache/master/packs/dcebd8e8d4d97ee88e40dd8f92d8678c10e1a3ad.histidx |
394 $TESTTMP/envcache/repos |
414 $TESTTMP/envcache/master/packs/dcebd8e8d4d97ee88e40dd8f92d8678c10e1a3ad.histpack |
|
415 |
395 |
416 Test local remotefilelog blob is correct when based on a pack |
396 Test local remotefilelog blob is correct when based on a pack |
417 $ hg prefetch -r . |
397 $ hg prefetch -r . |
418 1 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
398 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
419 $ echo >> y |
399 $ echo >> y |
420 $ hg commit -m y2 |
400 $ hg commit -m y2 |
421 $ hg debugremotefilelog .hg/store/data/95cb0bfd2977c761298d9624e4b4d4c72a39974a/b70860edba4f8242a1d52f2a94679dd23cb76808 |
401 $ hg debugremotefilelog .hg/store/data/95cb0bfd2977c761298d9624e4b4d4c72a39974a/b70860edba4f8242a1d52f2a94679dd23cb76808 |
422 size: 9 bytes |
402 size: 9 bytes |
423 path: .hg/store/data/95cb0bfd2977c761298d9624e4b4d4c72a39974a/b70860edba4f8242a1d52f2a94679dd23cb76808 |
403 path: .hg/store/data/95cb0bfd2977c761298d9624e4b4d4c72a39974a/b70860edba4f8242a1d52f2a94679dd23cb76808 |
432 1406e7411862 => 000000000000 000000000000 b292c1e3311f |
412 1406e7411862 => 000000000000 000000000000 b292c1e3311f |
433 |
413 |
434 Test limiting the max delta chain length |
414 Test limiting the max delta chain length |
435 $ hg repack --config packs.maxchainlen=1 |
415 $ hg repack --config packs.maxchainlen=1 |
436 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.dataidx |
416 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.dataidx |
437 $TESTTMP/hgcache/master/packs/a2731c9a16403457b67337a620931797fce8c821: |
417 $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742: |
438 x: |
418 x: |
439 Node Delta Base Delta Length Blob Size |
419 Node Delta Base Delta Length Blob Size |
440 1bb2e6237e03 000000000000 8 8 |
420 1bb2e6237e03 000000000000 8 8 |
441 d4a3ed9310e5 1bb2e6237e03 12 6 |
421 d4a3ed9310e5 1bb2e6237e03 12 6 |
442 aee31534993a 000000000000 4 4 |
422 aee31534993a 000000000000 4 4 |
443 1406e7411862 aee31534993a 12 2 |
423 1406e7411862 aee31534993a 12 2 |
444 |
424 |
445 Total: 36 20 (80.0% bigger) |
425 Total: 36 20 (80.0% bigger) |
446 y: |
426 y: |
447 Node Delta Base Delta Length Blob Size |
427 Node Delta Base Delta Length Blob Size |
448 577959738234 000000000000 8 8 |
428 577959738234 000000000000 70 8 |
449 |
429 |
450 Total: 8 8 (0.0% bigger) |
430 Total: 70 8 (775.0% bigger) |
451 |
431 |
452 Test huge pack cleanup using different values of packs.maxpacksize: |
432 Test huge pack cleanup using different values of packs.maxpacksize: |
453 $ hg repack --incremental --debug |
433 $ hg repack --incremental --debug |
454 $ hg repack --incremental --debug --config packs.maxpacksize=512 |
434 $ hg repack --incremental --debug --config packs.maxpacksize=512 |
455 removing oversize packfile $TESTTMP/hgcache/master/packs/a2731c9a16403457b67337a620931797fce8c821.datapack (365 bytes) |
435 removing oversize packfile $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742.datapack (426 bytes) |
456 removing oversize packfile $TESTTMP/hgcache/master/packs/a2731c9a16403457b67337a620931797fce8c821.dataidx (1.21 KB) |
436 removing oversize packfile $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742.dataidx (1.21 KB) |
457 |
437 |
458 Do a repack where the new pack reuses a delta from the old pack |
438 Do a repack where the new pack reuses a delta from the old pack |
459 $ clearcache |
439 $ clearcache |
460 $ hg prefetch -r '2::3' |
440 $ hg prefetch -r '2::3' |
461 2 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
441 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob) |
462 $ hg repack |
442 $ hg repack |
463 $ hg debugdatapack $CACHEDIR/master/packs/*.datapack |
443 $ hg debugdatapack $CACHEDIR/master/packs/*.datapack |
464 $TESTTMP/hgcache/master/packs/abf210f6c3aa4dd0ecc7033633ad73591be16c95: |
444 $TESTTMP/hgcache/master/packs/abf210f6c3aa4dd0ecc7033633ad73591be16c95: |
465 x: |
445 x: |
466 Node Delta Base Delta Length Blob Size |
446 Node Delta Base Delta Length Blob Size |
467 1bb2e6237e03 000000000000 8 8 |
447 1bb2e6237e03 000000000000 8 8 |
468 d4a3ed9310e5 1bb2e6237e03 12 6 |
448 d4a3ed9310e5 1bb2e6237e03 12 6 |
469 |
449 |
470 Total: 20 14 (42.9% bigger) |
450 Total: 20 14 (42.9% bigger) |
471 $ hg prefetch -r '0::1' |
451 $ hg prefetch -r '0::1' |
472 2 files fetched over 1 fetches - (0 misses, 100.00% hit ratio) over * (glob) |
452 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob) |
473 $ hg repack |
453 $ hg repack |
474 $ hg debugdatapack $CACHEDIR/master/packs/*.datapack |
454 $ hg debugdatapack $CACHEDIR/master/packs/*.datapack |
475 $TESTTMP/hgcache/master/packs/09b8bf49256b3fc2175977ba97d6402e91a9a604: |
455 $TESTTMP/hgcache/master/packs/09b8bf49256b3fc2175977ba97d6402e91a9a604: |
476 x: |
456 x: |
477 Node Delta Base Delta Length Blob Size |
457 Node Delta Base Delta Length Blob Size |