##// END OF EJS Templates
upgrade: allow for `sidedata` removal...
upgrade: allow for `sidedata` removal If the side-date feature is removed, we need to drop them. Differential Revision: https://phab.mercurial-scm.org/D6943

File last commit:

r43405:6e3dc1ef default
r43405:6e3dc1ef default
Show More
test-sidedata.t
98 lines | 3.3 KiB | text/troff | Tads3Lexer
upgrade: detect the side-data format variants...
r43299 ==========================================================
Test file dedicated to checking side-data related behavior
==========================================================
sidedata: test we can successfully write sidedata...
r43308 Check data can be written/read from sidedata
============================================
$ cat << EOF >> $HGRCPATH
> [extensions]
> testsidedata=$TESTDIR/testlib/ext-sidedata.py
> EOF
$ hg init test-sidedata --config format.use-side-data=yes
$ 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
upgrade: detect the side-data format variants...
r43299
sidedata: add a debugsidedata command...
r43309 $ 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
upgrade: detect the side-data format variants...
r43299 Check upgrade behavior
======================
Right now, sidedata has not upgrade support
upgrade: allow upgrade to repository using sidedata...
r43404 Check that we can upgrade to sidedata
-------------------------------------
upgrade: detect the side-data format variants...
r43299
$ hg init up-no-side-data --config format.use-side-data=no
$ hg debugformat -v -R up-no-side-data
format-variant repo config default
fncache: yes yes yes
dotencode: yes yes yes
generaldelta: yes yes yes
sparserevlog: yes yes yes
sidedata: no no no
plain-cl-delta: yes yes yes
compression: zlib zlib zlib
compression-level: default default default
$ hg debugformat -v -R up-no-side-data --config format.use-side-data=yes
format-variant repo config default
fncache: yes yes yes
dotencode: yes yes yes
generaldelta: yes yes yes
sparserevlog: yes yes yes
sidedata: no yes no
plain-cl-delta: yes yes yes
compression: zlib zlib zlib
compression-level: default default default
upgrade: allow upgrade to repository using sidedata...
r43404 $ hg debugupgraderepo -R up-no-side-data --config format.use-side-data=yes > /dev/null
upgrade: detect the side-data format variants...
r43299
upgrade: allow for `sidedata` removal...
r43405 Check that we can downgrade from sidedata
-----------------------------------------
upgrade: detect the side-data format variants...
r43299
$ hg init up-side-data --config format.use-side-data=yes
$ hg debugformat -v -R up-side-data
format-variant repo config default
fncache: yes yes yes
dotencode: yes yes yes
generaldelta: yes yes yes
sparserevlog: yes yes yes
sidedata: yes no no
plain-cl-delta: yes yes yes
compression: zlib zlib zlib
compression-level: default default default
$ hg debugformat -v -R up-side-data --config format.use-side-data=no
format-variant repo config default
fncache: yes yes yes
dotencode: yes yes yes
generaldelta: yes yes yes
sparserevlog: yes yes yes
sidedata: yes no no
plain-cl-delta: yes yes yes
compression: zlib zlib zlib
compression-level: default default default
upgrade: allow for `sidedata` removal...
r43405 $ hg debugupgraderepo -R up-side-data --config format.use-side-data=no > /dev/null