Details
Details
- Reviewers
- None
- Group Reviewers
Restricted Project
Diff Detail
Diff Detail
- Repository
- rFBHGX Facebook Mercurial Extensions
- Lint
Lint Skipped - Unit
Unit Tests Skipped
| Restricted Project |
| Lint Skipped |
| Unit Tests Skipped |
| Path | Packages | |||
|---|---|---|---|---|
| M | remotefilelog/debugcommands.py (19 lines) | |||
| M | tests/test-remotefilelog-bgprefetch.t (40 lines) | |||
| M | tests/test-remotefilelog-gcrepack.t (14 lines) | |||
| M | tests/test-remotefilelog-repack-fast.t (8 lines) | |||
| M | tests/test-remotefilelog-repack.t (12 lines) | |||
| M | tests/test-treemanifest-repack.t (12 lines) |
| else: | else: | ||||
| hashformatter = short | hashformatter = short | ||||
| hashlen = 14 | hashlen = 14 | ||||
| lastfilename = None | lastfilename = None | ||||
| totaldeltasize = defaultdict(lambda: 0) | totaldeltasize = defaultdict(lambda: 0) | ||||
| totalblobsize = defaultdict(lambda: 0) | totalblobsize = defaultdict(lambda: 0) | ||||
| def printtotals(filename): | def printtotals(filename): | ||||
| if filename in totaldeltasize or filename in totaldeltasize: | if not (filename in totaldeltasize or filename in totaldeltasize): | ||||
| ui.write("Total:%s%s %s\n" % ( | return | ||||
| difference = totalblobsize[filename] - totaldeltasize[filename] | |||||
| deltastr = "%0.1f%% %s" % ( | |||||
| (100.0 * abs(difference) / totalblobsize[filename]), | |||||
| ("smaller" if difference > 0 else "bigger")) | |||||
| ui.write("Total:%s%s %s (%s)\n" % ( | |||||
| "".ljust(2 * hashlen - len("Total:")), | "".ljust(2 * hashlen - len("Total:")), | ||||
| str(totaldeltasize[filename]).ljust(12), | str(totaldeltasize[filename]).ljust(12), | ||||
| str(totalblobsize[filename]).ljust(9) | str(totalblobsize[filename]).ljust(9), | ||||
| deltastr | |||||
| )) | )) | ||||
| for filename, node, deltabase, deltalen in dpack.iterentries(): | for filename, node, deltabase, deltalen in dpack.iterentries(): | ||||
| if filename != lastfilename: | if filename != lastfilename: | ||||
| printtotals(lastfilename) | printtotals(lastfilename) | ||||
| ui.write("\n%s:\n" % ('(Root)' if filename == '' else filename)) | ui.write("\n%s:\n" % ('(Root)' if filename == '' else filename)) | ||||
| ui.write("%s%s%s%s\n" % ( | ui.write("%s%s%s%s\n" % ( | ||||
| "Node".ljust(hashlen), | "Node".ljust(hashlen), | ||||
| "Delta Base".ljust(hashlen), | "Delta Base".ljust(hashlen), | ||||
| "Delta Length".ljust(14), | "Delta Length".ljust(14), | ||||
| # Ensure that file 'w' was prefetched - it was not part of the update operation and therefore | # Ensure that file 'w' was prefetched - it was not part of the update operation and therefore | ||||
| # could only be downloaded by the background prefetch | # could only be downloaded by the background prefetch | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | ||||
| w: | w: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| bb6ccd5dceaa 000000000000 2 2 | bb6ccd5dceaa 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| ef95c5376f34 000000000000 3 3 | ef95c5376f34 000000000000 3 3 | ||||
| 1406e7411862 ef95c5376f34 14 2 | 1406e7411862 ef95c5376f34 14 2 | ||||
| Total: 17 5 | Total: 17 5 (240.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 076f5e2225b3 000000000000 2 2 | 076f5e2225b3 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| z: | z: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 69a1b6752270 000000000000 2 2 | 69a1b6752270 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| # background prefetch with repack on commit when wcprevset configured | # background prefetch with repack on commit when wcprevset configured | ||||
| $ cat >> .hg/hgrc <<EOF | $ cat >> .hg/hgrc <<EOF | ||||
| > [remotefilelog] | > [remotefilelog] | ||||
| > bgprefetchrevs=0:: | > bgprefetchrevs=0:: | ||||
| > EOF | > EOF | ||||
| # Ensure that file 'w' was prefetched - it was not part of the commit operation and therefore | # Ensure that file 'w' was prefetched - it was not part of the commit operation and therefore | ||||
| # could only be downloaded by the background prefetch | # could only be downloaded by the background prefetch | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | ||||
| w: | w: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| bb6ccd5dceaa 000000000000 2 2 | bb6ccd5dceaa 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| ef95c5376f34 000000000000 3 3 | ef95c5376f34 000000000000 3 3 | ||||
| 1406e7411862 ef95c5376f34 14 2 | 1406e7411862 ef95c5376f34 14 2 | ||||
| Total: 17 5 | Total: 17 5 (240.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 076f5e2225b3 000000000000 2 2 | 076f5e2225b3 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| z: | z: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 69a1b6752270 000000000000 2 2 | 69a1b6752270 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| # background prefetch with repack on rebase when wcprevset configured | # background prefetch with repack on rebase when wcprevset configured | ||||
| $ hg up -r 2 | $ hg up -r 2 | ||||
| 3 files updated, 0 files merged, 3 files removed, 0 files unresolved | 3 files updated, 0 files merged, 3 files removed, 0 files unresolved | ||||
| (leaving bookmark temporary) | (leaving bookmark temporary) | ||||
| $ clearcache | $ clearcache | ||||
| $ find $CACHEDIR -type f | sort | $ find $CACHEDIR -type f | sort | ||||
| # Ensure that file 'y' was prefetched - it was not part of the rebase operation and therefore | # Ensure that file 'y' was prefetched - it was not part of the rebase operation and therefore | ||||
| # could only be downloaded by the background prefetch | # could only be downloaded by the background prefetch | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | ||||
| w: | w: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| bb6ccd5dceaa 000000000000 2 2 | bb6ccd5dceaa 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| ef95c5376f34 000000000000 3 3 | ef95c5376f34 000000000000 3 3 | ||||
| 1406e7411862 ef95c5376f34 14 2 | 1406e7411862 ef95c5376f34 14 2 | ||||
| Total: 17 5 | Total: 17 5 (240.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 076f5e2225b3 000000000000 2 2 | 076f5e2225b3 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| z: | z: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 69a1b6752270 000000000000 2 2 | 69a1b6752270 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| # Check that foregound prefetch with no arguments blocks until background prefetches finish | # Check that foregound prefetch with no arguments blocks until background prefetches finish | ||||
| $ hg up -r 3 | $ hg up -r 3 | ||||
| 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
| $ clearcache | $ clearcache | ||||
| $ hg prefetch --repack | $ hg prefetch --repack | ||||
| waiting for lock on prefetching in $TESTTMP/shallow held by process * on host * (glob) (?) | waiting for lock on prefetching in $TESTTMP/shallow held by process * on host * (glob) (?) | ||||
| $TESTTMP/hgcache/repos | $TESTTMP/hgcache/repos | ||||
| # Ensure that files were prefetched | # Ensure that files were prefetched | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | ||||
| w: | w: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| bb6ccd5dceaa 000000000000 2 2 | bb6ccd5dceaa 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| ef95c5376f34 000000000000 3 3 | ef95c5376f34 000000000000 3 3 | ||||
| 1406e7411862 ef95c5376f34 14 2 | 1406e7411862 ef95c5376f34 14 2 | ||||
| Total: 17 5 | Total: 17 5 (240.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 076f5e2225b3 000000000000 2 2 | 076f5e2225b3 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| z: | z: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 69a1b6752270 000000000000 2 2 | 69a1b6752270 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| # Check that foreground prefetch fetches revs specified by '. + draft() + bgprefetchrevs + pullprefetch' | # Check that foreground prefetch fetches revs specified by '. + draft() + bgprefetchrevs + pullprefetch' | ||||
| $ clearcache | $ clearcache | ||||
| $ hg prefetch --repack | $ hg prefetch --repack | ||||
| waiting for lock on prefetching in $TESTTMP/shallow held by process * on host * (glob) (?) | waiting for lock on prefetching in $TESTTMP/shallow held by process * on host * (glob) (?) | ||||
| got lock after * seconds (glob) (?) | got lock after * seconds (glob) (?) | ||||
| (running background incremental repack) | (running background incremental repack) | ||||
| $TESTTMP/hgcache/repos | $TESTTMP/hgcache/repos | ||||
| # Ensure that files were prefetched | # Ensure that files were prefetched | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack | ||||
| w: | w: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| bb6ccd5dceaa 000000000000 2 2 | bb6ccd5dceaa 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| ef95c5376f34 000000000000 3 3 | ef95c5376f34 000000000000 3 3 | ||||
| 1406e7411862 ef95c5376f34 14 2 | 1406e7411862 ef95c5376f34 14 2 | ||||
| Total: 17 5 | Total: 17 5 (240.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 076f5e2225b3 000000000000 2 2 | 076f5e2225b3 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| z: | z: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 69a1b6752270 000000000000 2 2 | 69a1b6752270 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| # Test that if data was prefetched and repacked we dont need to prefetch it again | # Test that if data was prefetched and repacked we dont need to prefetch it again | ||||
| # It ensures that Mercurial looks not only in loose files but in packs as well | # It ensures that Mercurial looks not only in loose files but in packs as well | ||||
| $ hg prefetch --repack | $ hg prefetch --repack | ||||
| (running background incremental repack) | (running background incremental repack) | ||||
| # Ensure that all file versions were prefetched | # Ensure that all file versions were prefetched | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1406e7411862 000000000000 2 2 | 1406e7411862 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 50dbc4572b8e 000000000000 3 3 | 50dbc4572b8e 000000000000 3 3 | ||||
| 076f5e2225b3 50dbc4572b8e 14 2 | 076f5e2225b3 50dbc4572b8e 14 2 | ||||
| Total: 17 5 | Total: 17 5 (240.0% bigger) | ||||
| # Test garbage collection during repack | # Test garbage collection during repack | ||||
| $ cat >> .hg/hgrc <<EOF | $ cat >> .hg/hgrc <<EOF | ||||
| > [remotefilelog] | > [remotefilelog] | ||||
| > bgprefetchrevs=tip | > bgprefetchrevs=tip | ||||
| > gcrepack=True | > gcrepack=True | ||||
| > nodettl=86400 | > nodettl=86400 | ||||
| # Ensure that file 'x' was garbage collected. It should be GCed because it is not in the keepset | # Ensure that file 'x' was garbage collected. It should be GCed because it is not in the keepset | ||||
| # and is old (commit date is 0.0 in tests). Ensure that file 'y' is present as it is in the keepset. | # and is old (commit date is 0.0 in tests). Ensure that file 'y' is present as it is in the keepset. | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/05baa499c6b07f2bf0ea3d2c8151da1cb86f5e33.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/05baa499c6b07f2bf0ea3d2c8151da1cb86f5e33.datapack | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 50dbc4572b8e 000000000000 3 3 | 50dbc4572b8e 000000000000 3 3 | ||||
| Total: 3 3 | Total: 3 3 (0.0% bigger) | ||||
| # Prefetch all data again and repack for later garbage collection | # Prefetch all data again and repack for later garbage collection | ||||
| $ cat >> .hg/hgrc <<EOF | $ cat >> .hg/hgrc <<EOF | ||||
| > [remotefilelog] | > [remotefilelog] | ||||
| > bgprefetchrevs=all() | > bgprefetchrevs=all() | ||||
| > EOF | > EOF | ||||
| # Ensure that all file versions were prefetched | # Ensure that all file versions were prefetched | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1406e7411862 000000000000 2 2 | 1406e7411862 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 50dbc4572b8e 000000000000 3 3 | 50dbc4572b8e 000000000000 3 3 | ||||
| 076f5e2225b3 50dbc4572b8e 14 2 | 076f5e2225b3 50dbc4572b8e 14 2 | ||||
| Total: 17 5 | Total: 17 5 (240.0% bigger) | ||||
| # Test garbage collection during repack. Ensure that new files are not removed even though they are not in the keepset | # Test garbage collection during repack. Ensure that new files are not removed even though they are not in the keepset | ||||
| # For the purposes of the test the TTL of a file is set to current time + 100 seconds. i.e. all commits in tests have | # For the purposes of the test the TTL of a file is set to current time + 100 seconds. i.e. all commits in tests have | ||||
| # a date of 1970 and therefore to prevent garbage collection we have to set nodettl to be farther from 1970 than we are now. | # a date of 1970 and therefore to prevent garbage collection we have to set nodettl to be farther from 1970 than we are now. | ||||
| $ cat >> .hg/hgrc <<EOF | $ cat >> .hg/hgrc <<EOF | ||||
| > [remotefilelog] | > [remotefilelog] | ||||
| > bgprefetchrevs= | > bgprefetchrevs= | ||||
| # Ensure that all file versions were prefetched | # Ensure that all file versions were prefetched | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1406e7411862 000000000000 2 2 | 1406e7411862 000000000000 2 2 | ||||
| Total: 2 2 | Total: 2 2 (0.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 50dbc4572b8e 000000000000 3 3 | 50dbc4572b8e 000000000000 3 3 | ||||
| 076f5e2225b3 50dbc4572b8e 14 2 | 076f5e2225b3 50dbc4572b8e 14 2 | ||||
| Total: 17 5 | Total: 17 5 (240.0% bigger) | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1bb2e6237e03 000000000000 8 8 | 1bb2e6237e03 000000000000 8 8 | ||||
| d4a3ed9310e5 1bb2e6237e03 12 6 | d4a3ed9310e5 1bb2e6237e03 12 6 | ||||
| aee31534993a d4a3ed9310e5 12 4 | aee31534993a d4a3ed9310e5 12 4 | ||||
| Total: 32 18 | Total: 32 18 (77.8% bigger) | ||||
| $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack | $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8 | 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8 | ||||
| d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 12 6 | d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 12 6 | ||||
| aee31534993a501858fb6dd96a065671922e7d51 d4a3ed9310e5bd9887e3bf779da5077efab28216 12 4 | aee31534993a501858fb6dd96a065671922e7d51 d4a3ed9310e5bd9887e3bf779da5077efab28216 12 4 | ||||
| Total: 32 18 | Total: 32 18 (77.8% bigger) | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216 | $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216 | ||||
| x | x | ||||
| Node Delta Base Delta SHA1 Delta Length | Node Delta Base Delta SHA1 Delta Length | ||||
| d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 77029ab56e83ea2115dd53ff87483682abe5d7ca 12 | d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 77029ab56e83ea2115dd53ff87483682abe5d7ca 12 | ||||
| Node Delta Base Delta SHA1 Delta Length | Node Delta Base Delta SHA1 Delta Length | ||||
| 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 7ca8c71a64f7b56380e77573da2f7a5fdd2ecdb5 8 | 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 7ca8c71a64f7b56380e77573da2f7a5fdd2ecdb5 8 | ||||
| $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx | $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx | ||||
| $ hg repack | $ hg repack | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1bb2e6237e03 000000000000 8 8 | 1bb2e6237e03 000000000000 8 8 | ||||
| aee31534993a 000000000000 4 4 | aee31534993a 000000000000 4 4 | ||||
| d4a3ed9310e5 000000000000 6 6 | d4a3ed9310e5 000000000000 6 6 | ||||
| Total: 18 18 | Total: 18 18 (0.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 577959738234 000000000000 70 8 | 577959738234 000000000000 70 8 | ||||
| Total: 70 8 | Total: 70 8 (775.0% bigger) | ||||
| $ hg cat -r ".^" x | $ hg cat -r ".^" x | ||||
| x | x | ||||
| x | x | ||||
| x | x | ||||
| x | x | ||||
| Incremental repack | Incremental repack | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1bb2e6237e03 000000000000 8 8 | 1bb2e6237e03 000000000000 8 8 | ||||
| d4a3ed9310e5 1bb2e6237e03 12 6 | d4a3ed9310e5 1bb2e6237e03 12 6 | ||||
| aee31534993a d4a3ed9310e5 12 4 | aee31534993a d4a3ed9310e5 12 4 | ||||
| Total: 32 18 | Total: 32 18 (77.8% bigger) | ||||
| $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack | $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8 | 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8 | ||||
| d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 12 6 | d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 12 6 | ||||
| aee31534993a501858fb6dd96a065671922e7d51 d4a3ed9310e5bd9887e3bf779da5077efab28216 12 4 | aee31534993a501858fb6dd96a065671922e7d51 d4a3ed9310e5bd9887e3bf779da5077efab28216 12 4 | ||||
| Total: 32 18 | Total: 32 18 (77.8% bigger) | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216 | $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216 | ||||
| x | x | ||||
| Node Delta Base Delta SHA1 Delta Length | Node Delta Base Delta SHA1 Delta Length | ||||
| d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 77029ab56e83ea2115dd53ff87483682abe5d7ca 12 | d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 77029ab56e83ea2115dd53ff87483682abe5d7ca 12 | ||||
| Node Delta Base Delta SHA1 Delta Length | Node Delta Base Delta SHA1 Delta Length | ||||
| 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 7ca8c71a64f7b56380e77573da2f7a5fdd2ecdb5 8 | 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 7ca8c71a64f7b56380e77573da2f7a5fdd2ecdb5 8 | ||||
| $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx | $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx | ||||
| $ hg repack | $ hg repack | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack | $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1bb2e6237e03 000000000000 8 8 | 1bb2e6237e03 000000000000 8 8 | ||||
| aee31534993a 000000000000 4 4 | aee31534993a 000000000000 4 4 | ||||
| d4a3ed9310e5 000000000000 6 6 | d4a3ed9310e5 000000000000 6 6 | ||||
| Total: 18 18 | Total: 18 18 (0.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 577959738234 000000000000 70 8 | 577959738234 000000000000 70 8 | ||||
| Total: 70 8 | Total: 70 8 (775.0% bigger) | ||||
| $ hg cat -r ".^" x | $ hg cat -r ".^" x | ||||
| x | x | ||||
| x | x | ||||
| x | x | ||||
| x | x | ||||
| Incremental repack | Incremental repack | ||||
| $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.dataidx | $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.dataidx | ||||
| x: | x: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1bb2e6237e03 000000000000 8 8 | 1bb2e6237e03 000000000000 8 8 | ||||
| d4a3ed9310e5 1bb2e6237e03 12 6 | d4a3ed9310e5 1bb2e6237e03 12 6 | ||||
| aee31534993a 000000000000 4 4 | aee31534993a 000000000000 4 4 | ||||
| 1406e7411862 aee31534993a 12 2 | 1406e7411862 aee31534993a 12 2 | ||||
| Total: 36 20 | Total: 36 20 (80.0% bigger) | ||||
| y: | y: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 577959738234 000000000000 8 8 | 577959738234 000000000000 8 8 | ||||
| Total: 8 8 | Total: 8 8 (0.0% bigger) | ||||
| -r--r--r-- 262 7535b6084226436bbdff33043969e7fa963e8428.histpack | -r--r--r-- 262 7535b6084226436bbdff33043969e7fa963e8428.histpack | ||||
| $ hg debugdatapack $CACHEDIR/master/packs/manifests/*.datapack | $ hg debugdatapack $CACHEDIR/master/packs/manifests/*.datapack | ||||
| (Root): | (Root): | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1832e0765de9 000000000000 89 89 | 1832e0765de9 000000000000 89 89 | ||||
| a0c8bcbbb45c 1832e0765de9 12 43 | a0c8bcbbb45c 1832e0765de9 12 43 | ||||
| Total: 101 132 | Total: 101 132 (23.5% smaller) | ||||
| dir: | dir: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 23226e7a252c 000000000000 43 43 | 23226e7a252c 000000000000 43 43 | ||||
| Total: 43 43 | Total: 43 43 (0.0% bigger) | ||||
| $ hg debughistorypack $CACHEDIR/master/packs/manifests/*.histpack | $ hg debughistorypack $CACHEDIR/master/packs/manifests/*.histpack | ||||
| Node P1 Node P2 Node Link Node Copy From | Node P1 Node P2 Node Link Node Copy From | ||||
| 1832e0765de9 a0c8bcbbb45c 000000000000 8e83608cbe60 | 1832e0765de9 a0c8bcbbb45c 000000000000 8e83608cbe60 | ||||
| a0c8bcbbb45c 000000000000 000000000000 1f0dee641bb7 | a0c8bcbbb45c 000000000000 000000000000 1f0dee641bb7 | ||||
| 7535b6084226436bbdff33043969e7fa963e8428.histidx | 7535b6084226436bbdff33043969e7fa963e8428.histidx | ||||
| 7535b6084226436bbdff33043969e7fa963e8428.histpack | 7535b6084226436bbdff33043969e7fa963e8428.histpack | ||||
| $ hg debugdatapack .hg/cache/packs/manifests/*.datapack | $ hg debugdatapack .hg/cache/packs/manifests/*.datapack | ||||
| (Root): | (Root): | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1832e0765de9 000000000000 89 89 | 1832e0765de9 000000000000 89 89 | ||||
| a0c8bcbbb45c 1832e0765de9 12 43 | a0c8bcbbb45c 1832e0765de9 12 43 | ||||
| Total: 101 132 | Total: 101 132 (23.5% smaller) | ||||
| dir: | dir: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 23226e7a252c 000000000000 43 43 | 23226e7a252c 000000000000 43 43 | ||||
| Total: 43 43 | Total: 43 43 (0.0% bigger) | ||||
| Test incremental revlog repacking | Test incremental revlog repacking | ||||
| # 1. Make commit that we'll need to repack | # 1. Make commit that we'll need to repack | ||||
| $ echo >> a | $ echo >> a | ||||
| $ hg commit -Aqm 'modify a' | $ hg commit -Aqm 'modify a' | ||||
| $ hg debugindex .hg/store/00manifesttree.i | $ hg debugindex .hg/store/00manifesttree.i | ||||
| rev offset length delta linkrev nodeid p1 p2 | rev offset length delta linkrev nodeid p1 p2 | ||||
| 0 0 44 -1 0 a0c8bcbbb45c 000000000000 000000000000 | 0 0 44 -1 0 a0c8bcbbb45c 000000000000 000000000000 | ||||
| Test incremental repack with limited revs only repacks those revs | Test incremental repack with limited revs only repacks those revs | ||||
| $ rm -rf .hg/cache/packs/manifests | $ rm -rf .hg/cache/packs/manifests | ||||
| $ hg repack --incremental --config treemanifest.repackstartrev=1 --config treemanifest.repackendrev=1 | $ hg repack --incremental --config treemanifest.repackstartrev=1 --config treemanifest.repackendrev=1 | ||||
| $ hg debugdatapack .hg/cache/packs/manifests/*.datapack | $ hg debugdatapack .hg/cache/packs/manifests/*.datapack | ||||
| (Root): | (Root): | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 1832e0765de9 000000000000 89 89 | 1832e0765de9 000000000000 89 89 | ||||
| Total: 89 89 | Total: 89 89 (0.0% bigger) | ||||
| dir: | dir: | ||||
| Node Delta Base Delta Length Blob Size | Node Delta Base Delta Length Blob Size | ||||
| 23226e7a252c 000000000000 43 43 | 23226e7a252c 000000000000 43 43 | ||||
| Total: 43 43 | Total: 43 43 (0.0% bigger) | ||||