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

in3xes at gmail.com in3xes at gmail.com
Mon Aug 9 11:09:19 CDT 2010


# HG changeset patch
# User Pradeepkumar Gayam <in3xes at gmail.com>
# Date 1281366503 -19800
# Node ID 29c71ea032a6b5c27d92436a63994627b3bbec1c
# Parent  9edb2bea4b760990f97a8d1bb6e7bea65f0d4858
revlog: append delta against p1

diff -r 9edb2bea4b76 -r 29c71ea032a6 mercurial/revlog.py
--- a/mercurial/revlog.py	Mon Aug 09 20:37:27 2010 +0530
+++ b/mercurial/revlog.py	Mon Aug 09 20:38:23 2010 +0530
@@ -1167,10 +1167,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])
@@ -1185,7 +1190,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