# HG changeset patch # User Boris Feld <boris.f...@octobus.net> # Date 1493857401 -7200 # Thu May 04 02:23:21 2017 +0200 # Node ID e3bb410037a49980a8316e4e5a49ab23ea978047 # Parent 0e369eca888fc80ee980fe8200c59dc7b0024dae # EXP-Topic tiprev # Available At https://bitbucket.org/octobus/mercurial-devel/ # hg pull https://bitbucket.org/octobus/mercurial-devel/ -r e3bb410037a4 changelog: introduce a 'tiprev' method
Accessing tiprev is a common need through the code base. It is usually done using "len(changelog) -1". That form is tedious and error-prone. For example, it will give wrong results on filtered changelog (if the unfiltered tip is filtered). As a result, we introduce a simple 'tiprev()' method to provide this exact information in a nice way. diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -295,6 +295,11 @@ class changelog(revlog.revlog): self._divert = False self.filteredrevs = frozenset() + def tiprev(self): + for i in xrange(len(self) -1, -2, -1): + if i not in self.filteredrevs: + return i + def tip(self): """filtered version of revlog.tip""" for i in xrange(len(self) -1, -2, -1): _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel