Mercurial > hg
view tests/test-sidedata.t @ 51626:865efc020c33 default tip
dirstate: remove the python-side whitelist of allowed matchers
This whitelist is too permissive because it allows matchers that contain
disallowed ones deep inside, for example through `intersectionmatcher`.
It is also too restrictive because it doesn't pass through
some of the matchers we support, such as `patternmatcher`.
It's also unnecessary because unsupported matchers raise
`FallbackError` and we fall back anyway.
Making this change makes more of the tests use rust code path,
and therefore subtly change behavior. For example, rust status
in largefiles repos seems to have strange behavior.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Fri, 26 Apr 2024 19:10:35 +0100 |
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