diff -r 3f132207e92f -r f9fc46698352 mercurial/wireproto.py --- a/mercurial/wireproto.py Wed Jan 18 19:16:01 2012 -0600 +++ b/mercurial/wireproto.py Wed Jan 18 20:00:48 2012 -0600 @@ -471,7 +471,11 @@ def lookup(repo, proto, key): try: - r = hex(repo.lookup(encoding.tolocal(key))) + k = encoding.tolocal(key) + c = repo[k] + if c.phase() == phases.secret: + raise error.RepoLookupError(_("unknown revision '%s'") % k) + r = c.hex() success = 1 except Exception, inst: r = str(inst)