compression: use 'None' for no-compression
authorPierre-Yves David <pierre-yves.david@fb.com>
Tue, 15 Sep 2015 17:53:28 -0700
changeset 26267 eca468b8fae4
parent 26266 1e042e31bd0c
child 26268 a91d7dfd1952
compression: use 'None' for no-compression This seems more idiomatic and clearer. We still support both None and 'UN' for now because no user are migrated.
mercurial/changegroup.py
mercurial/util.py
--- a/mercurial/changegroup.py	Tue Sep 15 17:35:32 2015 -0700
+++ b/mercurial/changegroup.py	Tue Sep 15 17:53:28 2015 -0700
@@ -158,6 +158,8 @@
     deltaheadersize = struct.calcsize(deltaheader)
     version = '01'
     def __init__(self, fh, alg):
+        if alg == 'UN':
+            alg = None # get more modern without breaking too much
         if not alg in util.decompressors:
             raise util.Abort(_('unknown stream compression type: %s')
                              % alg)
@@ -165,7 +167,7 @@
         self._type = alg
         self.callback = None
     def compressed(self):
-        return self._type != 'UN'
+        return self._type is not None
     def read(self, l):
         return self._stream.read(l)
     def seek(self, pos):
--- a/mercurial/util.py	Tue Sep 15 17:35:32 2015 -0700
+++ b/mercurial/util.py	Tue Sep 15 17:53:28 2015 -0700
@@ -2349,11 +2349,13 @@
         return ""
 
 compressors = {
-    'UN': nocompress,
+    None: nocompress,
     # lambda to prevent early import
     'BZ': lambda: bz2.BZ2Compressor(),
     'GZ': lambda: zlib.compressobj(),
     }
+# also support the old form by courtesies
+compressors['UN'] = compressors[None]
 
 def _makedecompressor(decompcls):
     def generator(f):
@@ -2371,10 +2373,12 @@
     d.decompress('BZ')
     return d
 
-decompressors = {'UN': lambda fh: fh,
+decompressors = {None: lambda fh: fh,
                  'BZ': _makedecompressor(_bz2),
                  'GZ': _makedecompressor(lambda: zlib.decompressobj()),
                  }
+# also support the old form by courtesies
+decompressors['UN'] = decompressors[None]
 
 # convenient shortcut
 dst = debugstacktrace