mercurial/revlog.py
changeset 34823 7891d243d821
parent 34296 3c9691728237
child 34824 e2ad93bcc084
--- a/mercurial/revlog.py	Wed Sep 20 19:17:37 2017 +0200
+++ b/mercurial/revlog.py	Mon Oct 09 15:13:41 2017 +0200
@@ -1327,8 +1327,14 @@
         l = []
         ladd = l.append
 
+        firstrev = revs[0]
+        # Skip trailing revisions with empty diff
+        for lastrev in revs[::-1]:
+            if length(lastrev) != 0:
+                break
+
         try:
-            offset, data = self._getsegmentforrevs(revs[0], revs[-1], df=df)
+            offset, data = self._getsegmentforrevs(firstrev, lastrev, df=df)
         except OverflowError:
             # issue4215 - we can't cache a run of chunks greater than
             # 2G on Windows