diff -r 3290e24bb3f0 -r e7bf09acd410 mercurial/context.py --- a/mercurial/context.py Sun May 13 16:39:40 2012 +0200 +++ b/mercurial/context.py Sun May 13 14:04:04 2012 +0200 @@ -78,10 +78,12 @@ self._node = repo._tagscache.tags[changeid] self._rev = repo.changelog.rev(self._node) return - if changeid in repo.branchtags(): - self._node = repo.branchtags()[changeid] + try: + self._node = repo.branchtip(changeid) self._rev = repo.changelog.rev(self._node) return + except error.RepoLookupError: + pass self._node = repo.changelog._partialmatch(changeid) if self._node is not None: