mercurial/revlog.py
changeset 39156 b3b4bee161cf
parent 39155 a43ef77cab1d
child 39157 a98e926b2f5b
--- a/mercurial/revlog.py	Wed Mar 07 12:28:04 2018 +0100
+++ b/mercurial/revlog.py	Mon Jul 23 16:21:58 2018 +0200
@@ -2566,6 +2566,12 @@
                 (textlen >> deltainfo.snapshotdepth) < deltainfo.deltalen):
             return False
 
+        # bad delta if new intermediate snapshot is larger than the previous
+        # snapshot
+        if (deltainfo.snapshotdepth
+                and self.length(deltainfo.base) < deltainfo.deltalen):
+            return False
+
         return True
 
     def _addrevision(self, node, rawtext, transaction, link, p1, p2, flags,