--- a/mercurial/revlog.py Mon Dec 17 10:57:13 2018 +0100
+++ b/mercurial/revlog.py Fri Dec 21 05:27:38 2018 +0100
@@ -1533,14 +1533,18 @@
def issnapshot(self, rev):
"""tells whether rev is a snapshot
"""
+ if not self._sparserevlog:
+ return self.deltaparent(rev) == nullrev
+ elif util.safehasattr(self.index, 'issnapshot'):
+ # directly assign the method to cache the testing and access
+ self.issnapshot = self.index.issnapshot
+ return self.issnapshot(rev)
if rev == nullrev:
return True
entry = self.index[rev]
base = entry[3]
if base == rev:
return True
- elif not self._sparserevlog:
- return False
if base == nullrev:
return True
p1 = entry[5]