diff --git a/vcsserver/remote/hg.py b/vcsserver/remote/hg.py --- a/vcsserver/remote/hg.py +++ b/vcsserver/remote/hg.py @@ -29,6 +29,7 @@ from mercurial import commands from mercurial import unionrepo from mercurial import verify from mercurial import repair +from mercurial.error import AmbiguousPrefixLookupError import vcsserver from vcsserver import exceptions @@ -735,6 +736,10 @@ class HgRemote(RemoteBase): rev = rev + -1 try: ctx = self._get_ctx(repo, rev) + except (AmbiguousPrefixLookupError) as e: + e = RepoLookupError(rev) + e._org_exc_tb = traceback.format_exc() + raise exceptions.LookupException(e)(rev) except (TypeError, RepoLookupError, binascii.Error) as e: e._org_exc_tb = traceback.format_exc() raise exceptions.LookupException(e)(rev)