# HG changeset patch # User Gregory Szorc # Date 1478572693 28800 # Node ID a37a96d838b945f93066d028a7ba0296a927f00a # Parent d045b40911972a1b745cd05ea06be2e0efda3027 changegroup: use compression engines API The new API doesn't have the equivalence for None and 'UN' so we introduce code to use 'UN' explicitly. diff -r d045b4091197 -r a37a96d838b9 mercurial/changegroup.py --- a/mercurial/changegroup.py Mon Nov 07 18:36:48 2016 -0800 +++ b/mercurial/changegroup.py Mon Nov 07 18:38:13 2016 -0800 @@ -137,14 +137,16 @@ _grouplistcount = 1 # One list of files after the manifests def __init__(self, fh, alg, extras=None): - if alg == 'UN': - alg = None # get more modern without breaking too much - if not alg in util.decompressors: + if alg is None: + alg = 'UN' + if alg not in util.compengines.supportedbundletypes: raise error.Abort(_('unknown stream compression type: %s') % alg) if alg == 'BZ': alg = '_truncatedBZ' - self._stream = util.decompressors[alg](fh) + + compengine = util.compengines.forbundletype(alg) + self._stream = compengine.decompressorreader(fh) self._type = alg self.extras = extras or {} self.callback = None