From patchwork Thu Jun 13 13:23:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [09, of, 10] deltas: skip if projected compressed size is bigger than previous snapshot From: Pierre-Yves David X-Patchwork-Id: 40477 Message-Id: <2cf494071b512e698775.1560432184@nodosa.octopoid.net> To: mercurial-devel@mercurial-scm.org Date: Thu, 13 Jun 2019 14:23:04 +0100 diff --git a/mercurial/revlogutils/deltas.py b/mercurial/revlogutils/deltas.py --- a/mercurial/revlogutils/deltas.py +++ b/mercurial/revlogutils/deltas.py @@ -966,6 +966,8 @@ class deltacomputer(object): snapshotlimit = revinfo.textlen >> snapshotdepth if snapshotlimit < lowestrealisticdeltalen: return None + if revlog.length(base) < lowestrealisticdeltalen: + return None header, data = revlog.compress(delta) deltalen = len(header) + len(data) offset = revlog.end(len(revlog) - 1)