revlog: move textlen calculation to be above delta chooser
authorDurham Goode <durham@fb.com>
Sun, 30 Aug 2015 13:34:30 -0700
changeset 26116 562cfc99e611
parent 26115 748347e0e8d4
child 26117 4dc5b51f38fe
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.
mercurial/revlog.py
--- 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)