Mercurial > public > mercurial-scm > hg-stable
diff mercurial/upgrade.py @ 44413:f0027a3dd7cb
revlog-compression: update the config to be a list
format.revlog-compression is now a list of engine, the first supported one is to
be used. Doing this have several benefits:
1) this is fully backward compatible, config using a single entry will be read
as a single item list, not changing any behavior.
2) This open the way to use zstd by default without impacting platform were it
is not available. This will be done in a later changesets.
Using zstd provide a significant performance boost explained in : bb271ec2fbfb.
However zstd is not available in some cases, A notable example is the `--pure`
version of Mercurial which doesn't come with zstd support.
Differential Revision: https://phab.mercurial-scm.org/D8148
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 19 Feb 2020 17:30:04 +0100 |
parents | ad84fc97d120 |
children | 9d2b2df2c2ba |
line wrap: on
line diff
--- a/mercurial/upgrade.py Wed Feb 19 13:39:00 2020 +0530 +++ b/mercurial/upgrade.py Wed Feb 19 17:30:04 2020 +0100 @@ -449,7 +449,14 @@ @classmethod def fromconfig(cls, repo): - return repo.ui.config(b'format', b'revlog-compression') + compengines = repo.ui.configlist(b'format', b'revlog-compression') + # return the first valid value as the selection code would do + for comp in compengines: + if comp in util.compengines: + return comp + + # no valide compression found lets display it all for clarity + return b','.join(compengines) @registerformatvariant