diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -852,7 +852,7 @@ class revlog(object): node = bin(id) r = self.rev(node) return node - except TypeError: + except (TypeError, LookupError): pass def _partialmatch(self, id): diff --git a/tests/test-log b/tests/test-log --- a/tests/test-log +++ b/tests/test-log @@ -98,4 +98,7 @@ hg log -P 2 echo '% log -r ""' hg log -r '' +echo '% log -r ' +hg log -r 1000000000000000000000000000000000000000 + exit 0 diff --git a/tests/test-log.out b/tests/test-log.out --- a/tests/test-log.out +++ b/tests/test-log.out @@ -223,3 +223,5 @@ summary: b1 % log -r "" abort: 00changelog.i@: ambiguous identifier! +% log -r +abort: unknown revision '1000000000000000000000000000000000000000'!