Mercurial > public > mercurial-scm > hg-stable
diff mercurial/revlog.py @ 14208:d62d597b8974
revlog: compute correct deltaparent in the deltaparent function
It now returns nullrev for chain base revisions, since they are conceptually
deltas against nullrev. The revdiff function was updated accordingly.
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Thu, 05 May 2011 18:05:24 +0200 |
parents | e7483ec3c374 |
children | c33427080671 |
line wrap: on
line diff
--- a/mercurial/revlog.py Thu May 05 11:33:02 2011 -0400 +++ b/mercurial/revlog.py Thu May 05 18:05:24 2011 +0200 @@ -830,11 +830,14 @@ def deltaparent(self, rev): """return deltaparent of the given revision""" - return rev - 1 + if self.index[rev][3] == rev: + return nullrev + else: + return rev - 1 def revdiff(self, rev1, rev2): """return or calculate a delta between two revisions""" - if self.base(rev2) != rev2 and self.deltaparent(rev2) == rev1: + if rev1 != nullrev and self.deltaparent(rev2) == rev1: return self._chunk(rev2) return mdiff.textdiff(self.revision(self.node(rev1)),