Mercurial > hg
view tests/test-sidedata.t @ 51105:af96fbb8f739
revlog: add a `canonical_index_file` attribute on inner revlog
This is currently the same and the index_file but it will become more complex
when we start doing delayed write.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 26 Oct 2023 05:37:37 +0200 |
parents | 7e5be4a7cda7 |
children |
line wrap: on
line source
========================================================== Test file dedicated to checking side-data related behavior ========================================================== Check data can be written/read from sidedata ============================================ $ cat << EOF >> $HGRCPATH > [extensions] > testsidedata=$TESTDIR/testlib/ext-sidedata.py > EOF $ hg init test-sidedata --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data $ cd test-sidedata $ echo aaa > a $ hg add a $ hg commit -m a --traceback $ echo aaa > b $ hg add b $ hg commit -m b $ echo xxx >> a $ hg commit -m aa $ hg debugsidedata -c 0 2 sidedata entries entry-0001 size 4 entry-0002 size 32 $ hg debugsidedata -c 1 -v 2 sidedata entries entry-0001 size 4 '\x00\x00\x006' entry-0002 size 32 '\x98\t\xf9\xc4v\xf0\xc5P\x90\xf7wRf\xe8\xe27e\xfc\xc1\x93\xa4\x96\xd0\x1d\x97\xaaG\x1d\xd7t\xfa\xde' $ hg debugsidedata -m 2 2 sidedata entries entry-0001 size 4 entry-0002 size 32 $ hg debugsidedata a 1 2 sidedata entries entry-0001 size 4 entry-0002 size 32 $ hg debug-revlog-index --verbose -c rev rank linkrev nodeid p1-rev p1-nodeid p2-rev p2-nodeid full-size delta-base flags comp-mode data-offset chunk-size sd-comp-mode sidedata-offset sd-chunk-size 0 -1 0 7049e48789d7 -1 000000000000 -1 000000000000 54 0 0 0 0 54 plain 0 90 1 -1 1 2707720c6597 0 7049e48789d7 -1 000000000000 54 1 0 0 54 54 plain 90 90 2 -1 2 40f977031323 1 2707720c6597 -1 000000000000 55 2 0 0 108 55 plain 180 90 $ hg debug-revlog-index --verbose -m rev rank linkrev nodeid p1-rev p1-nodeid p2-rev p2-nodeid full-size delta-base flags comp-mode data-offset chunk-size sd-comp-mode sidedata-offset sd-chunk-size 0 -1 0 b85d294330e3 -1 000000000000 -1 000000000000 43 0 0 0 0 43 plain 0 90 1 -1 1 1a0aec305c63 0 b85d294330e3 -1 000000000000 86 0 0 0 43 55 plain 90 90 2 -1 2 104258a4f75f 1 1a0aec305c63 -1 000000000000 86 1 0 0 98 55 plain 180 90 Check upgrade behavior ====================== Right now, sidedata has not upgrade support Check that we can upgrade to sidedata ------------------------------------- $ hg init up-no-side-data --config experimental.revlogv2=no $ hg debugformat -v -R up-no-side-data | grep -E 'changelog-v2|revlog-v2' revlog-v2: no no no changelog-v2: no no no $ hg debugformat -v -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data | grep -E 'changelog-v2|revlog-v2' revlog-v2: no yes no changelog-v2: no no no $ hg debugupgraderepo -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data > /dev/null Check that we can downgrade from sidedata ----------------------------------------- $ hg init up-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data $ hg debugformat -v -R up-side-data | grep -E 'changelog-v2|revlog-v2' revlog-v2: yes no no changelog-v2: no no no $ hg debugformat -v -R up-side-data --config experimental.revlogv2=no | grep -E 'changelog-v2|revlog-v2' revlog-v2: yes no no changelog-v2: no no no $ hg debugupgraderepo -R up-side-data --config experimental.revlogv2=no > /dev/null