comparison mercurial/revlog.py @ 39152:3b1042cab4b4

revlog: add a method to retrieve snapshot depth Some snapshot property (eg: maximum size) will depend on their depth.
author Boris Feld <boris.feld@octobus.net>
date Wed, 15 Aug 2018 12:09:14 +0200
parents f39efa885a6d
children e0da43e2f71f
comparison
equal deleted inserted replaced
39151:07b82f55f351 39152:3b1042cab4b4
2106 p1, p2 = self.parentrevs(rev) 2106 p1, p2 = self.parentrevs(rev)
2107 if deltap in (p1, p2): 2107 if deltap in (p1, p2):
2108 return False 2108 return False
2109 return self.issnapshot(deltap) 2109 return self.issnapshot(deltap)
2110 2110
2111 def snapshotdepth(self, rev):
2112 """number of snapshot in the chain before this one"""
2113 if not self.issnapshot(rev):
2114 raise ProgrammingError('revision %d not a snapshot')
2115 return len(self._deltachain(rev)[0]) - 1
2116
2111 def revdiff(self, rev1, rev2): 2117 def revdiff(self, rev1, rev2):
2112 """return or calculate a delta between two revisions 2118 """return or calculate a delta between two revisions
2113 2119
2114 The delta calculated is in binary form and is intended to be written to 2120 The delta calculated is in binary form and is intended to be written to
2115 revlog data directly. So this function needs raw revision data. 2121 revlog data directly. So this function needs raw revision data.