diff -r 5bc6edf71b39 -r e410be860393 mercurial/revlog.py --- a/mercurial/revlog.py Sat May 12 10:55:08 2012 +0200 +++ b/mercurial/revlog.py Sat May 12 10:55:08 2012 +0200 @@ -756,6 +756,15 @@ pass def _partialmatch(self, id): + try: + return self.index.partialmatch(id) + except RevlogError: + # parsers.c radix tree lookup gave multiple matches + raise LookupError(id, self.indexfile, _("ambiguous identifier")) + except (AttributeError, ValueError): + # we are pure python, or key was too short to search radix tree + pass + if id in self._pcache: return self._pcache[id]