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.
--- a/mercurial/revlog.py Sun Aug 30 13:33:00 2015 -0700
+++ b/mercurial/revlog.py Sun Aug 30 13:34:30 2015 -0700
@@ -1332,6 +1332,14 @@
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 @@
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)