[PATCH 04 of 15] revlog: changes in revdiff to support parentdelta

Pradeepkumar Gayam in3xes at gmail.com
Mon Jul 12 05:49:46 CDT 2010


# HG changeset patch
# User Pradeepkumar Gayam <in3xes at gmail.com>
# Date 1278875311 -19800
# Branch stable
# Node ID 86831f568399163b59e65309f146d71347a2c01f
# Parent  f25ee334ef0e6af1cbf73fad2a20568c15cf68db
revlog: changes in revdiff to support parentdelta

diff -r f25ee334ef0e -r 86831f568399 mercurial/revlog.py
--- a/mercurial/revlog.py	Mon Jul 12 00:32:43 2010 +0530
+++ b/mercurial/revlog.py	Mon Jul 12 00:38:31 2010 +0530
@@ -1008,7 +1008,7 @@
 
     def revdiff(self, rev1, rev2):
         """return or calculate a delta between two revisions"""
-        if rev1 + 1 == rev2 and self.base(rev1) == self.base(rev2):
+        if rev1 != nullrev  and self.deltaparent(rev) == rev1:
             return self._chunk(rev2)
 
         return mdiff.textdiff(self.revision(self.node(rev1)),
@@ -1036,10 +1036,10 @@
         # look up what we need to read
         text = None
         rev = self.rev(node)
-        base = self.base(rev)
+        base, chain = self.deltachain(rev)
 
         # check rev flags
-        if self.flags(rev) & ~REVLOG_PARENTDELTA_FLGAS:
+        if self.flags(rev) & ~REVLOG_PARENTDELTA_FLAGS:
             raise RevlogError(_('incompatible revision flag %x') %
                               (self.flags(rev)))
 


More information about the Mercurial-devel mailing list