diff -r 3b3a962e3677 -r aead63705504 mercurial/context.py --- a/mercurial/context.py Fri Oct 17 15:28:40 2014 -0700 +++ b/mercurial/context.py Thu Oct 16 23:27:54 2014 -0700 @@ -407,10 +407,14 @@ except (TypeError, LookupError): pass - if changeid in repo._bookmarks: - self._node = repo._bookmarks[changeid] + # lookup bookmarks through the name interface + try: + self._node = repo.names.singlenode(changeid) self._rev = repo.changelog.rev(self._node) return + except KeyError: + pass + if changeid in repo._tagscache.tags: self._node = repo._tagscache.tags[changeid] self._rev = repo.changelog.rev(self._node)