# HG changeset patch # User Martin von Zweigbergk # Date 2019-11-05 22:42:08 # Node ID ec7ba79bf3db903fc69aa204bc9ae2bd036f1b90 # Parent 0a0bad6d7ac03ed3354accf5308adeed989314ce revlog: move tiprev() from changelog up to revlog This makes the changelog override simpler and it seems more consistent. Differential Revision: https://phab.mercurial-scm.org/D7250 diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -406,14 +406,11 @@ class changelog(revlog.revlog): self._copiesstorage = opener.options.get(b'copies-storage') def tiprev(self): + """filtered version of revlog.tiprev""" for i in pycompat.xrange(len(self) - 1, -2, -1): if i not in self.filteredrevs: return i - def tip(self): - """filtered version of revlog.tip""" - return self.node(self.tiprev()) - def __contains__(self, rev): """filtered version of revlog.__contains__""" return 0 <= rev < len(self) and rev not in self.filteredrevs diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -593,8 +593,11 @@ class revlog(object): with func() as fp: yield fp + def tiprev(self): + return len(self.index) - 1 + def tip(self): - return self.node(len(self.index) - 1) + return self.node(self.tiprev()) def __contains__(self, rev): return 0 <= rev < len(self)