Mercurial > public > mercurial-scm > hg-stable
diff mercurial/upgrade.py @ 42045:d7e751ec679e
compression: display compression level in debugformat
Now that we have options to control the compression level, we teach `hg
debugformat` about them. This is a useful information when comparing
repositories.
Note that we have no trace of the compression level used to store existing
deltas. Actually, it would even varies from one delta to another. So we display
the currently set value.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 02 Apr 2019 11:03:46 -0700 |
parents | a59a74721c76 |
children | 4ee906aa7b60 |
line wrap: on
line diff
--- a/mercurial/upgrade.py Wed Mar 27 18:35:59 2019 +0100 +++ b/mercurial/upgrade.py Tue Apr 02 11:03:46 2019 -0700 @@ -334,6 +334,39 @@ def fromconfig(cls, repo): return repo.ui.config('experimental', 'format.compression') +@registerformatvariant +class compressionlevel(formatvariant): + name = 'compression-level' + default = 'default' + + description = _('compression level') + + upgrademessage = _('revlog content will be recompressed') + + @classmethod + def fromrepo(cls, repo): + comp = compressionengine.fromrepo(repo) + level = None + if comp == 'zlib': + level = repo.ui.configint('storage', 'revlog.zlib.level') + elif comp == 'zstd': + level = repo.ui.configint('storage', 'revlog.zstd.level') + if level is None: + return 'default' + return bytes(level) + + @classmethod + def fromconfig(cls, repo): + comp = compressionengine.fromconfig(repo) + level = None + if comp == 'zlib': + level = repo.ui.configint('storage', 'revlog.zlib.level') + elif comp == 'zstd': + level = repo.ui.configint('storage', 'revlog.zstd.level') + if level is None: + return 'default' + return bytes(level) + def finddeficiencies(repo): """returns a list of deficiencies that the repo suffer from""" deficiencies = []