mercurial/revlog.py
changeset 5006 72082bfced9a
parent 5005 825516d16b25
child 5007 c2febf5420e9
equal deleted inserted replaced
5005:825516d16b25 5006:72082bfced9a
   883         r = self.rev(node)
   883         r = self.rev(node)
   884         return self.revdiff(r - 1, r)
   884         return self.revdiff(r - 1, r)
   885 
   885 
   886     def revdiff(self, rev1, rev2):
   886     def revdiff(self, rev1, rev2):
   887         """return or calculate a delta between two revisions"""
   887         """return or calculate a delta between two revisions"""
   888         b1 = self.base(rev1)
   888         if rev1 + 1 == rev2 and self.base(rev1) == self.base(rev2):
   889         b2 = self.base(rev2)
       
   890         if b1 == b2 and rev1 + 1 == rev2:
       
   891             return self.chunk(rev2)
   889             return self.chunk(rev2)
   892         else:
   890 
   893             return mdiff.textdiff(self.revision(self.node(rev1)),
   891         return mdiff.textdiff(self.revision(self.node(rev1)),
   894                                   self.revision(self.node(rev2)))
   892                               self.revision(self.node(rev2)))
   895 
   893 
   896     def revision(self, node):
   894     def revision(self, node):
   897         """return an uncompressed revision of a given"""
   895         """return an uncompressed revision of a given"""
   898         if node == nullid:
   896         if node == nullid:
   899             return ""
   897             return ""