[PATCH 4 of 7] revlog: append delta against p1

in3xes at gmail.com in3xes at gmail.com
Tue Aug 10 12:21:13 CDT 2010


# HG changeset patch
# User Pradeepkumar Gayam <in3xes at gmail.com>
# Date 1281459461 -19800
# Node ID bce13b815e6d29320e70600a62f6185e4282547c
# Parent  63df13991405440d4d449fe0a843e13a86776991
revlog: append delta against p1

diff -r 63df13991405 -r bce13b815e6d mercurial/revlog.py
--- a/mercurial/revlog.py	Tue Aug 10 22:27:16 2010 +0530
+++ b/mercurial/revlog.py	Tue Aug 10 22:27:41 2010 +0530
@@ -1157,10 +1157,15 @@
         prev = curr - 1
         base = self.base(prev)
         offset = self.end(prev)
+        flags = 0
 
         if curr:
             if not d:
-                ptext = self.revision(self.node(prev))
+                if self._parentdelta:
+                    ptext = self.revision(p1)
+                    flags = REVIDX_PARENTDELTA
+                else:
+                    ptext = self.revision(self.node(prev))
                 d = mdiff.textdiff(ptext, text)
             data = compress(d)
             l = len(data[1]) + len(data[0])
@@ -1175,7 +1180,7 @@
             l = len(data[1]) + len(data[0])
             base = curr
 
-        e = (offset_type(offset, 0), l, len(text),
+        e = (offset_type(offset, flags), l, len(text),
              base, link, self.rev(p1), self.rev(p2), node)
         self.index.insert(-1, e)
         self.nodemap[node] = curr


More information about the Mercurial-devel mailing list