diff --git a/remotefilelog/debugcommands.py b/remotefilelog/debugcommands.py --- a/remotefilelog/debugcommands.py +++ b/remotefilelog/debugcommands.py @@ -10,6 +10,7 @@ from mercurial.node import bin, hex, nullid, short from mercurial.i18n import _ from . import ( + constants, datapack, fileserverclient, historypack, @@ -218,13 +219,23 @@ for filename, node, deltabase, deltalen in dpack.iterentries(): if filename != lastfilename: ui.write("\n%s\n" % filename) - ui.write("%s%s%s\n" % ( + ui.write("%s%s%s%s\n" % ( "Node".ljust(hashlen), "Delta Base".ljust(hashlen), - "Delta Length".ljust(6))) + "Delta Length".ljust(14), + "Blob Size".ljust(9))) lastfilename = filename - ui.write("%s %s %s\n" % ( - hashformatter(node), hashformatter(deltabase), deltalen)) + # Metadata could be missing, in which case it will be an empty dict. + meta = dpack.getmeta(filename, node) + if constants.METAKEYSIZE in meta: + blobsize = meta[constants.METAKEYSIZE] + else: + blobsize = "(missing)" + ui.write("%s %s %s%s\n" % ( + hashformatter(node), + hashformatter(deltabase), + str(deltalen).ljust(14), + blobsize)) def dumpdeltachain(ui, deltachain, **opts): hashformatter = hex diff --git a/tests/test-remotefilelog-bgprefetch.t b/tests/test-remotefilelog-bgprefetch.t --- a/tests/test-remotefilelog-bgprefetch.t +++ b/tests/test-remotefilelog-bgprefetch.t @@ -154,21 +154,21 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack w - Node Delta Base Delta Length - bb6ccd5dceaa 000000000000 2 + Node Delta Base Delta Length Blob Size + bb6ccd5dceaa 000000000000 2 2 x - Node Delta Base Delta Length - ef95c5376f34 000000000000 3 - 1406e7411862 ef95c5376f34 14 + Node Delta Base Delta Length Blob Size + ef95c5376f34 000000000000 3 3 + 1406e7411862 ef95c5376f34 14 2 y - Node Delta Base Delta Length - 076f5e2225b3 000000000000 2 + Node Delta Base Delta Length Blob Size + 076f5e2225b3 000000000000 2 2 z - Node Delta Base Delta Length - 69a1b6752270 000000000000 2 + Node Delta Base Delta Length Blob Size + 69a1b6752270 000000000000 2 2 # background prefetch with repack on commit when wcprevset configured @@ -200,21 +200,21 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack w - Node Delta Base Delta Length - bb6ccd5dceaa 000000000000 2 + Node Delta Base Delta Length Blob Size + bb6ccd5dceaa 000000000000 2 2 x - Node Delta Base Delta Length - ef95c5376f34 000000000000 3 - 1406e7411862 ef95c5376f34 14 + Node Delta Base Delta Length Blob Size + ef95c5376f34 000000000000 3 3 + 1406e7411862 ef95c5376f34 14 2 y - Node Delta Base Delta Length - 076f5e2225b3 000000000000 2 + Node Delta Base Delta Length Blob Size + 076f5e2225b3 000000000000 2 2 z - Node Delta Base Delta Length - 69a1b6752270 000000000000 2 + Node Delta Base Delta Length Blob Size + 69a1b6752270 000000000000 2 2 # background prefetch with repack on rebase when wcprevset configured @@ -238,21 +238,21 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack w - Node Delta Base Delta Length - bb6ccd5dceaa 000000000000 2 + Node Delta Base Delta Length Blob Size + bb6ccd5dceaa 000000000000 2 2 x - Node Delta Base Delta Length - ef95c5376f34 000000000000 3 - 1406e7411862 ef95c5376f34 14 + Node Delta Base Delta Length Blob Size + ef95c5376f34 000000000000 3 3 + 1406e7411862 ef95c5376f34 14 2 y - Node Delta Base Delta Length - 076f5e2225b3 000000000000 2 + Node Delta Base Delta Length Blob Size + 076f5e2225b3 000000000000 2 2 z - Node Delta Base Delta Length - 69a1b6752270 000000000000 2 + Node Delta Base Delta Length Blob Size + 69a1b6752270 000000000000 2 2 # Check that foregound prefetch with no arguments blocks until background prefetches finish @@ -279,21 +279,21 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack w - Node Delta Base Delta Length - bb6ccd5dceaa 000000000000 2 + Node Delta Base Delta Length Blob Size + bb6ccd5dceaa 000000000000 2 2 x - Node Delta Base Delta Length - ef95c5376f34 000000000000 3 - 1406e7411862 ef95c5376f34 14 + Node Delta Base Delta Length Blob Size + ef95c5376f34 000000000000 3 3 + 1406e7411862 ef95c5376f34 14 2 y - Node Delta Base Delta Length - 076f5e2225b3 000000000000 2 + Node Delta Base Delta Length Blob Size + 076f5e2225b3 000000000000 2 2 z - Node Delta Base Delta Length - 69a1b6752270 000000000000 2 + Node Delta Base Delta Length Blob Size + 69a1b6752270 000000000000 2 2 # Check that foreground prefetch fetches revs specified by '. + draft() + bgprefetchrevs + pullprefetch' @@ -317,21 +317,21 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack w - Node Delta Base Delta Length - bb6ccd5dceaa 000000000000 2 + Node Delta Base Delta Length Blob Size + bb6ccd5dceaa 000000000000 2 2 x - Node Delta Base Delta Length - ef95c5376f34 000000000000 3 - 1406e7411862 ef95c5376f34 14 + Node Delta Base Delta Length Blob Size + ef95c5376f34 000000000000 3 3 + 1406e7411862 ef95c5376f34 14 2 y - Node Delta Base Delta Length - 076f5e2225b3 000000000000 2 + Node Delta Base Delta Length Blob Size + 076f5e2225b3 000000000000 2 2 z - Node Delta Base Delta Length - 69a1b6752270 000000000000 2 + Node Delta Base Delta Length Blob Size + 69a1b6752270 000000000000 2 2 # 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 diff --git a/tests/test-remotefilelog-gcrepack.t b/tests/test-remotefilelog-gcrepack.t --- a/tests/test-remotefilelog-gcrepack.t +++ b/tests/test-remotefilelog-gcrepack.t @@ -53,13 +53,13 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack x - Node Delta Base Delta Length - 1406e7411862 000000000000 2 + Node Delta Base Delta Length Blob Size + 1406e7411862 000000000000 2 2 y - Node Delta Base Delta Length - 50dbc4572b8e 000000000000 3 - 076f5e2225b3 50dbc4572b8e 14 + Node Delta Base Delta Length Blob Size + 50dbc4572b8e 000000000000 3 3 + 076f5e2225b3 50dbc4572b8e 14 2 # Test garbage collection during repack @@ -84,8 +84,8 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/05baa499c6b07f2bf0ea3d2c8151da1cb86f5e33.datapack y - Node Delta Base Delta Length - 50dbc4572b8e 000000000000 3 + Node Delta Base Delta Length Blob Size + 50dbc4572b8e 000000000000 3 3 # Prefetch all data again and repack for later garbage collection @@ -109,13 +109,13 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack x - Node Delta Base Delta Length - 1406e7411862 000000000000 2 + Node Delta Base Delta Length Blob Size + 1406e7411862 000000000000 2 2 y - Node Delta Base Delta Length - 50dbc4572b8e 000000000000 3 - 076f5e2225b3 50dbc4572b8e 14 + Node Delta Base Delta Length Blob Size + 50dbc4572b8e 000000000000 3 3 + 076f5e2225b3 50dbc4572b8e 14 2 # 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 @@ -140,10 +140,10 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack x - Node Delta Base Delta Length - 1406e7411862 000000000000 2 + Node Delta Base Delta Length Blob Size + 1406e7411862 000000000000 2 2 y - Node Delta Base Delta Length - 50dbc4572b8e 000000000000 3 - 076f5e2225b3 50dbc4572b8e 14 + Node Delta Base Delta Length Blob Size + 50dbc4572b8e 000000000000 3 3 + 076f5e2225b3 50dbc4572b8e 14 2 diff --git a/tests/test-remotefilelog-repack-fast.t b/tests/test-remotefilelog-repack-fast.t --- a/tests/test-remotefilelog-repack-fast.t +++ b/tests/test-remotefilelog-repack-fast.t @@ -155,17 +155,17 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack x - Node Delta Base Delta Length - 1bb2e6237e03 000000000000 8 - d4a3ed9310e5 1bb2e6237e03 12 - aee31534993a d4a3ed9310e5 12 + Node Delta Base Delta Length Blob Size + 1bb2e6237e03 000000000000 8 8 + d4a3ed9310e5 1bb2e6237e03 12 6 + aee31534993a d4a3ed9310e5 12 4 $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack x - Node Delta Base Delta Length - 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 - d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 12 - aee31534993a501858fb6dd96a065671922e7d51 d4a3ed9310e5bd9887e3bf779da5077efab28216 12 + Node Delta Base Delta Length Blob Size + 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8 + d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 12 6 + aee31534993a501858fb6dd96a065671922e7d51 d4a3ed9310e5bd9887e3bf779da5077efab28216 12 4 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216 x @@ -249,14 +249,14 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack x - Node Delta Base Delta Length - 1bb2e6237e03 000000000000 8 - aee31534993a 000000000000 4 - d4a3ed9310e5 000000000000 6 + Node Delta Base Delta Length Blob Size + 1bb2e6237e03 000000000000 8 8 + aee31534993a 000000000000 4 4 + d4a3ed9310e5 000000000000 6 6 y - Node Delta Base Delta Length - 577959738234 000000000000 70 + Node Delta Base Delta Length Blob Size + 577959738234 000000000000 70 8 $ hg cat -r ".^" x x diff --git a/tests/test-remotefilelog-repack.t b/tests/test-remotefilelog-repack.t --- a/tests/test-remotefilelog-repack.t +++ b/tests/test-remotefilelog-repack.t @@ -150,17 +150,17 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack x - Node Delta Base Delta Length - 1bb2e6237e03 000000000000 8 - d4a3ed9310e5 1bb2e6237e03 12 - aee31534993a d4a3ed9310e5 12 + Node Delta Base Delta Length Blob Size + 1bb2e6237e03 000000000000 8 8 + d4a3ed9310e5 1bb2e6237e03 12 6 + aee31534993a d4a3ed9310e5 12 4 $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack x - Node Delta Base Delta Length - 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 - d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 12 - aee31534993a501858fb6dd96a065671922e7d51 d4a3ed9310e5bd9887e3bf779da5077efab28216 12 + Node Delta Base Delta Length Blob Size + 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8 + d4a3ed9310e5bd9887e3bf779da5077efab28216 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 12 6 + aee31534993a501858fb6dd96a065671922e7d51 d4a3ed9310e5bd9887e3bf779da5077efab28216 12 4 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216 x @@ -244,14 +244,14 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack x - Node Delta Base Delta Length - 1bb2e6237e03 000000000000 8 - aee31534993a 000000000000 4 - d4a3ed9310e5 000000000000 6 + Node Delta Base Delta Length Blob Size + 1bb2e6237e03 000000000000 8 8 + aee31534993a 000000000000 4 4 + d4a3ed9310e5 000000000000 6 6 y - Node Delta Base Delta Length - 577959738234 000000000000 70 + Node Delta Base Delta Length Blob Size + 577959738234 000000000000 70 8 $ hg cat -r ".^" x x @@ -386,12 +386,12 @@ $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.dataidx x - Node Delta Base Delta Length - 1bb2e6237e03 000000000000 8 - d4a3ed9310e5 1bb2e6237e03 12 - aee31534993a 000000000000 4 - 1406e7411862 aee31534993a 12 + Node Delta Base Delta Length Blob Size + 1bb2e6237e03 000000000000 8 (missing) + d4a3ed9310e5 1bb2e6237e03 12 (missing) + aee31534993a 000000000000 4 (missing) + 1406e7411862 aee31534993a 12 (missing) y - Node Delta Base Delta Length - 577959738234 000000000000 8 + Node Delta Base Delta Length Blob Size + 577959738234 000000000000 8 (missing) diff --git a/tests/test-treemanifest-repack.t b/tests/test-treemanifest-repack.t --- a/tests/test-treemanifest-repack.t +++ b/tests/test-treemanifest-repack.t @@ -45,17 +45,17 @@ $TESTTMP/hgcache/master/packs/manifests/65df85879cdd898607ee3f323a0b61edc7de25b8.datapack - Node Delta Base Delta Length - a0c8bcbbb45c 000000000000 43 + Node Delta Base Delta Length Blob Size + a0c8bcbbb45c 000000000000 43 (missing) $TESTTMP/hgcache/master/packs/manifests/bb55d9105672c45d4f82df15bd091a555ef02c79.datapack dir - Node Delta Base Delta Length - 23226e7a252c 000000000000 43 + Node Delta Base Delta Length Blob Size + 23226e7a252c 000000000000 43 (missing) - Node Delta Base Delta Length - 1832e0765de9 000000000000 89 + Node Delta Base Delta Length Blob Size + 1832e0765de9 000000000000 89 (missing) - Verify histpack contents $ for i in $CACHEDIR/master/packs/manifests/*.histpack; do @@ -87,13 +87,13 @@ $ hg debugdatapack $CACHEDIR/master/packs/manifests/*.datapack - Node Delta Base Delta Length - 1832e0765de9 000000000000 89 - a0c8bcbbb45c 1832e0765de9 12 + Node Delta Base Delta Length Blob Size + 1832e0765de9 000000000000 89 (missing) + a0c8bcbbb45c 1832e0765de9 12 (missing) dir - Node Delta Base Delta Length - 23226e7a252c 000000000000 43 + Node Delta Base Delta Length Blob Size + 23226e7a252c 000000000000 43 (missing) $ hg debughistorypack $CACHEDIR/master/packs/manifests/*.histpack @@ -189,13 +189,13 @@ $ hg debugdatapack .hg/cache/packs/manifests/*.datapack - Node Delta Base Delta Length - 1832e0765de9 000000000000 89 - a0c8bcbbb45c 1832e0765de9 12 + Node Delta Base Delta Length Blob Size + 1832e0765de9 000000000000 89 89 + a0c8bcbbb45c 1832e0765de9 12 43 dir - Node Delta Base Delta Length - 23226e7a252c 000000000000 43 + Node Delta Base Delta Length Blob Size + 23226e7a252c 000000000000 43 43 Test incremental revlog repacking # 1. Make commit that we'll need to repack @@ -228,9 +228,9 @@ $ hg debugdatapack .hg/cache/packs/manifests/*.datapack - Node Delta Base Delta Length - 1832e0765de9 000000000000 89 + Node Delta Base Delta Length Blob Size + 1832e0765de9 000000000000 89 89 dir - Node Delta Base Delta Length - 23226e7a252c 000000000000 43 + Node Delta Base Delta Length Blob Size + 23226e7a252c 000000000000 43 43 diff --git a/tests/test-treemanifest-server.t b/tests/test-treemanifest-server.t --- a/tests/test-treemanifest-server.t +++ b/tests/test-treemanifest-server.t @@ -50,22 +50,22 @@ $ hg debugdatapack $CACHEDIR/master/packs/manifests/*.dataidx subdir - Node Delta Base Delta Length - bc0c2c938b92 000000000000 43 + Node Delta Base Delta Length Blob Size + bc0c2c938b92 000000000000 43 (missing) - Node Delta Base Delta Length - 85b359fdb09e 000000000000 49 + Node Delta Base Delta Length Blob Size + 85b359fdb09e 000000000000 49 (missing) $ hg debugdatapack .hg/store/packs/manifests/*.dataidx subdir2 - Node Delta Base Delta Length - ddb35f099a64 000000000000 43 + Node Delta Base Delta Length Blob Size + ddb35f099a64 000000000000 43 (missing) - Node Delta Base Delta Length - 54cbf534b62b 000000000000 99 + Node Delta Base Delta Length Blob Size + 54cbf534b62b 000000000000 99 (missing) Test pushing without pushrebase fails $ hg push diff --git a/tests/test-treemanifest.t b/tests/test-treemanifest.t --- a/tests/test-treemanifest.t +++ b/tests/test-treemanifest.t @@ -61,16 +61,16 @@ $ hg debugdatapack $CACHEDIR/master/packs/manifests/678f597a73b2b96f2e120c84ef8a84069a250266 - Node Delta Base Delta Length - bc0c2c938b92 000000000000 43 + Node Delta Base Delta Length Blob Size + bc0c2c938b92 000000000000 43 (missing) subdir - Node Delta Base Delta Length - ddb35f099a64 000000000000 43 + Node Delta Base Delta Length Blob Size + ddb35f099a64 000000000000 43 (missing) - Node Delta Base Delta Length - 70f2c6726cec bc0c2c938b92 61 + Node Delta Base Delta Length Blob Size + 70f2c6726cec bc0c2c938b92 61 (missing) Test that commit creates local trees $ hg up -q tip @@ -85,12 +85,12 @@ $ hg debugdatapack .hg/store/packs/manifests/a7f7e084adff88a01cf76909345be1e56ee704a9 subdir - Node Delta Base Delta Length - ac728a786423 000000000000 43 + Node Delta Base Delta Length Blob Size + ac728a786423 000000000000 43 (missing) - Node Delta Base Delta Length - 7a911436836f 000000000000 92 + Node Delta Base Delta Length Blob Size + 7a911436836f 000000000000 92 (missing) Test that manifest matchers work $ hg status --rev 1 --rev 2 -I subdir/a @@ -121,20 +121,20 @@ $ hg debugdatapack .hg/store/packs/manifests/5a5fb42e99986c90ac86b57d184561c44238b7b7.datapack subdir - Node Delta Base Delta Length - a4e2f032ee0f 000000000000 43 + Node Delta Base Delta Length Blob Size + a4e2f032ee0f 000000000000 43 (missing) - Node Delta Base Delta Length - 0d05c20bb7eb 000000000000 92 + Node Delta Base Delta Length Blob Size + 0d05c20bb7eb 000000000000 92 (missing) subdir - Node Delta Base Delta Length - ad0a48a2ec1e 000000000000 43 + Node Delta Base Delta Length Blob Size + ad0a48a2ec1e 000000000000 43 (missing) - Node Delta Base Delta Length - 8289b85c6a30 000000000000 92 + Node Delta Base Delta Length Blob Size + 8289b85c6a30 000000000000 92 (missing) Test treemanifest with sparse enabled $ cat >> .hg/hgrc <