comparison mercurial/revlog.py @ 39182:f8db458651c8

revlog: add a method to tells whether rev is stored as a snapshot For now we only have one type of snapshot: full snapshot versus nullrev. However we are looking into adding intermediate snapshot where a large diff against another snapshot is performed instead of storing a full new text. The conditional is a bit strange and is done in order to help readability of a some later changesets.
author Paul Morelle <paul.morelle@octobus.net>
date Fri, 20 Jul 2018 13:32:17 +0200
parents b95b48a55c36
children f39efa885a6d
comparison
equal deleted inserted replaced
39181:1464183343b3 39182:f8db458651c8
2093 elif self._generaldelta: 2093 elif self._generaldelta:
2094 return base 2094 return base
2095 else: 2095 else:
2096 return rev - 1 2096 return rev - 1
2097 2097
2098 def issnapshot(self, rev):
2099 """tells whether rev is a snapshot
2100 """
2101 if rev == nullrev:
2102 return True
2103 deltap = self.deltaparent(rev)
2104 if deltap == nullrev:
2105 return True
2106 return False
2107
2098 def revdiff(self, rev1, rev2): 2108 def revdiff(self, rev1, rev2):
2099 """return or calculate a delta between two revisions 2109 """return or calculate a delta between two revisions
2100 2110
2101 The delta calculated is in binary form and is intended to be written to 2111 The delta calculated is in binary form and is intended to be written to
2102 revlog data directly. So this function needs raw revision data. 2112 revlog data directly. So this function needs raw revision data.