comparison tests/test-repo-compengines.t @ 37415:c2c8962a9465

simplestore: use a custom store for the simple store repo Before, we used the default store, which was based on fncache and dotencode. After attempting to port tests to work with the simple store, I realized that fncache was more trouble than it is worth. This commit implements a proper store type for the simple repo - one that isn't based off fncache. This causes a number of new test failures because of tests expecting the full fncache store filename encoding. I may extend the store format in a subsequent commit to take the filename encoding parts of fncache that we can take (basically everything except hash encoding, since that isn't reversible). But for now, let's use encoded store. As part of this, we implement proper requirements support for repos created with the simple store. This should have been done from the beginning, as a requirement is needed to lock out clients that don't understand a storage format. A new hghave feature advertising the presence of fncache in repos has been added. Most tests touching the fncache are now conditional on that feature. Other tests have added the optional repo requirement to output. Differential Revision: https://phab.mercurial-scm.org/D3095
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 04 Apr 2018 14:09:02 -0700
parents 4c0a5a256ae8
children 4fe18205bbdb
comparison
equal deleted inserted replaced
37414:2d965bfeb8f6 37415:c2c8962a9465
6 dotencode 6 dotencode
7 fncache 7 fncache
8 generaldelta 8 generaldelta
9 revlogv1 9 revlogv1
10 store 10 store
11 testonly-simplestore (reposimplestore !)
11 12
12 $ touch foo 13 $ touch foo
13 $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text to trigger compression' 14 $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text to trigger compression'
14 $ hg debugrevlog -c | grep 0x78 15 $ hg debugrevlog -c | grep 0x78
15 0x78 (x) : 1 (100.00%) 16 0x78 (x) : 1 (100.00%)
45 exp-compression-zstd 46 exp-compression-zstd
46 fncache 47 fncache
47 generaldelta 48 generaldelta
48 revlogv1 49 revlogv1
49 store 50 store
51 testonly-simplestore (reposimplestore !)
50 52
51 $ touch foo 53 $ touch foo
52 $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text' 54 $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text'
53 55
54 $ hg debugrevlog -c | grep 0x28 56 $ hg debugrevlog -c | grep 0x28
68 dotencode 70 dotencode
69 fncache 71 fncache
70 generaldelta 72 generaldelta
71 revlogv1 73 revlogv1
72 store 74 store
75 testonly-simplestore (reposimplestore !)
73 76
74 $ hg debugrevlog -c | grep 0x78 77 $ hg debugrevlog -c | grep 0x78
75 0x78 (x) : 2 (100.00%) 78 0x78 (x) : 2 (100.00%)
76 0x78 (x) : 199 (100.00%) 79 0x78 (x) : 199 (100.00%)
77 80