# HG changeset patch # User Durham Goode # Date 2015-08-30 20:34:30 # Node ID 562cfc99e611492317327b106d01dba18fdf71b0 # Parent 748347e0e8d4dba2fed368dadddd80586eeb2113 revlog: move textlen calculation to be above delta chooser This moves the textlen calculation to be above the delta chooser. Since textlen is needed for calling isgooddelta, we need it above the delta chooser so future patches can call isgooddelta. diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -1332,6 +1332,14 @@ class revlog(object): basecache = self._basecache p1r, p2r = self.rev(p1), self.rev(p2) + # full versions are inserted when the needed deltas + # become comparable to the uncompressed text + if text is None: + textlen = mdiff.patchedsize(self.rawsize(cachedelta[0]), + cachedelta[1]) + else: + textlen = len(text) + # should we try to build a delta? if prev != nullrev: if self._generaldelta: @@ -1345,14 +1353,6 @@ class revlog(object): d = builddelta(prev) dist, l, data, base, chainbase, chainlen, compresseddeltalen = d - # full versions are inserted when the needed deltas - # become comparable to the uncompressed text - if text is None: - textlen = mdiff.patchedsize(self.rawsize(cachedelta[0]), - cachedelta[1]) - else: - textlen = len(text) - if not self._isgooddelta(d, textlen): text = buildtext() data = self.compress(text)