diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1533,14 +1533,16 @@ # dealing with some special values if changeid == b'null': return context.changectx(self, nullrev, nullid) + if changeid == b'tip': + node = self.changelog.tip() + rev = self.changelog.rev(node) + return context.changectx(self, rev, node) + # dealing with arbitrary values try: if isinstance(changeid, int): node = self.changelog.node(changeid) rev = changeid - elif changeid == b'tip': - node = self.changelog.tip() - rev = self.changelog.rev(node) elif changeid == b'.': # this is a hack to delay/avoid loading obsmarkers # when we know that '.' won't be hidden