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.
This commit is contained in:
Durham Goode 2015-08-30 13:34:30 -07:00
parent 2ff0cbe125
commit 47e86258b9

View File

@ -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)