mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
f6d838bc0e
Summary: Some native code (ex. RevlogIndex) only knows the lz4 format. Reviewed By: DurhamG Differential Revision: D22368825 fbshipit-source-id: d33cee235e3aa4fbf2cfb441319e3c12728d8b5b
85 lines
1.8 KiB
Perl
85 lines
1.8 KiB
Perl
#require py2
|
|
#chg-compatible
|
|
|
|
A new repository uses zlib storage, which doesn't need a requirement
|
|
|
|
$ hg init default
|
|
$ cd default
|
|
$ cat .hg/requires
|
|
dotencode
|
|
fncache
|
|
generaldelta
|
|
lz4revlog
|
|
revlogv1
|
|
store
|
|
treestate
|
|
|
|
$ touch foo
|
|
$ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text to trigger compression'
|
|
$ hg debugrevlog -c | grep 0x78
|
|
[1]
|
|
|
|
$ cd ..
|
|
|
|
Unknown compression engine to format.compression aborts
|
|
|
|
$ hg --config experimental.format.compression=unknown init unknown
|
|
abort: compression engine unknown defined by experimental.format.compression not available
|
|
(run "hg debuginstall" to list available compression engines)
|
|
[255]
|
|
|
|
A requirement specifying an unknown compression engine results in bail
|
|
|
|
$ hg init unknownrequirement
|
|
$ cd unknownrequirement
|
|
$ echo exp-compression-unknown >> .hg/requires
|
|
$ hg log
|
|
abort: repository requires features unknown to this Mercurial: exp-compression-unknown!
|
|
(see https://mercurial-scm.org/wiki/MissingRequirement for more information)
|
|
[255]
|
|
|
|
$ cd ..
|
|
|
|
#if zstd
|
|
|
|
$ hg --config experimental.format.compression=zstd init zstd
|
|
$ cd zstd
|
|
$ cat .hg/requires
|
|
dotencode
|
|
exp-compression-zstd
|
|
fncache
|
|
generaldelta
|
|
lz4revlog
|
|
revlogv1
|
|
store
|
|
treestate
|
|
|
|
$ touch foo
|
|
$ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text'
|
|
|
|
$ hg debugrevlog -c | grep 0x28
|
|
[1]
|
|
|
|
$ cd ..
|
|
|
|
Specifying a new format.compression on an existing repo won't introduce data
|
|
with that engine or a requirement
|
|
|
|
$ cd default
|
|
$ touch bar
|
|
$ hg --config experimental.format.compression=zstd -q commit -A -m 'add bar with a lot of repeated repeated repeated text'
|
|
|
|
$ cat .hg/requires
|
|
dotencode
|
|
fncache
|
|
generaldelta
|
|
lz4revlog
|
|
revlogv1
|
|
store
|
|
treestate
|
|
|
|
$ hg debugrevlog -c | grep 0x78
|
|
[1]
|
|
|
|
#endif
|