diff -r 454bc51f114c -r f0027a3dd7cb mercurial/localrepo.py --- a/mercurial/localrepo.py Wed Feb 19 13:39:00 2020 +0530 +++ b/mercurial/localrepo.py Wed Feb 19 17:30:04 2020 +0100 @@ -3578,14 +3578,17 @@ if ui.configbool(b'format', b'dotencode'): requirements.add(b'dotencode') - compengine = ui.config(b'format', b'revlog-compression') - if compengine not in util.compengines: + compengines = ui.configlist(b'format', b'revlog-compression') + for compengine in compengines: + if compengine in util.compengines: + break + else: raise error.Abort( _( - b'compression engine %s defined by ' + b'compression engines %s defined by ' b'format.revlog-compression not available' ) - % compengine, + % b', '.join(b'"%s"' % e for e in compengines), hint=_( b'run "hg debuginstall" to list available ' b'compression engines' @@ -3593,7 +3596,7 @@ ) # zlib is the historical default and doesn't need an explicit requirement. - elif compengine == b'zstd': + if compengine == b'zstd': requirements.add(b'revlog-compression-zstd') elif compengine != b'zlib': requirements.add(b'exp-compression-%s' % compengine)