Mercurial > public > mercurial-scm > hg
diff mercurial/revlog.py @ 47452:c6844912c327
revlog: factor the logic to determine the delta compression out
This make the logic clearly isolated and documented and it will help use to
reuse it during censors/strip.
Differential Revision: https://phab.mercurial-scm.org/D10889
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 21 Jun 2021 15:00:53 +0200 |
parents | 9cecc222c536 |
children | f93a867a6486 |
line wrap: on
line diff
--- a/mercurial/revlog.py Thu Jun 10 00:16:54 2021 +0200 +++ b/mercurial/revlog.py Mon Jun 21 15:00:53 2021 +0200 @@ -2437,21 +2437,9 @@ compression_mode = COMP_MODE_INLINE if self._docket is not None: - h, d = deltainfo.data - if not h and not d: - # not data to store at all... declare them uncompressed - compression_mode = COMP_MODE_PLAIN - elif not h: - t = d[0:1] - if t == b'\0': - compression_mode = COMP_MODE_PLAIN - elif t == self._docket.default_compression_header: - compression_mode = COMP_MODE_DEFAULT - elif h == b'u': - # we have a more efficient way to declare uncompressed - h = b'' - compression_mode = COMP_MODE_PLAIN - deltainfo = deltautil.drop_u_compression(deltainfo) + default_comp = self._docket.default_compression_header + r = deltautil.delta_compression(default_comp, deltainfo) + compression_mode, deltainfo = r sidedata_compression_mode = COMP_MODE_INLINE if sidedata and self.hassidedata: