diff -r 27b2e1823e83 -r 9acb5cd19162 mercurial/revset.py --- a/mercurial/revset.py Thu May 17 15:34:59 2012 -0500 +++ b/mercurial/revset.py Thu May 17 15:52:14 2012 -0500 @@ -762,7 +762,11 @@ if len(n) == 40: rn = repo[n].rev() else: - rn = repo.changelog.rev(repo.changelog._partialmatch(n)) + rn = None + pm = repo.changelog._partialmatch(n) + if pm is not None: + rn = repo.changelog.rev(pm) + return [r for r in subset if r == rn] def outgoing(repo, subset, x):