# HG changeset patch # User Paul Morelle # Date 2018-07-20 11:32:17 # Node ID f8db458651c8a1209715e3541f47fb156224ca5a # Parent 1464183343b31158ef47ae5364ab8e81ce471368 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. diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -2095,6 +2095,16 @@ class revlog(object): else: return rev - 1 + def issnapshot(self, rev): + """tells whether rev is a snapshot + """ + if rev == nullrev: + return True + deltap = self.deltaparent(rev) + if deltap == nullrev: + return True + return False + def revdiff(self, rev1, rev2): """return or calculate a delta between two revisions