diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -523,9 +523,14 @@ def changelogrevision(self, nodeorrev): """Obtain a ``changelogrevision`` for a node or revision.""" - if nodeorrev == self._changelogrevision_key: + if not isinstance(nodeorrev, int): + rev = self.rev(nodeorrev) + else: + rev = nodeorrev + + if rev == self._changelogrevision_key: return self._changelogrevision_cache - text, sidedata = self._revisiondata(nodeorrev) + text, sidedata = self._revisiondata(rev) cr = changelogrevision( text, sidedata, self._copiesstorage == b'changeset-sidedata' )