diff -r 717c692fa449 -r ee3b5fb648c7 mercurial/context.py --- a/mercurial/context.py Mon Dec 17 15:08:37 2012 -0800 +++ b/mercurial/context.py Mon Dec 17 18:09:41 2012 +0100 @@ -25,8 +25,12 @@ self._repo = repo if isinstance(changeid, int): + try: + self._node = repo.changelog.node(changeid) + except IndexError: + raise error.RepoLookupError( + _("unknown revision '%s'") % changeid) self._rev = changeid - self._node = repo.changelog.node(changeid) return if isinstance(changeid, long): changeid = str(changeid)