# HG changeset patch # User Matt Mackall # Date 1290636637 21600 # Node ID d588326f63211dcf5827280a495eed094695f3c4 # Parent e298cca2d53ac84f43baadf69c33905a2dd2e1d9 wireproto: use proper UTF-8 handling for key lookup Lookups happen in the local encoding space, but the wire protocol should be using UTF-8 for interoperability. diff -r e298cca2d53a -r d588326f6321 mercurial/wireproto.py --- a/mercurial/wireproto.py Wed Nov 24 16:04:33 2010 -0600 +++ b/mercurial/wireproto.py Wed Nov 24 16:10:37 2010 -0600 @@ -25,7 +25,7 @@ class wirerepository(repo.repository): def lookup(self, key): self.requirecap('lookup', _('look up remote revision')) - d = self._call("lookup", key=key) + d = self._call("lookup", key=encoding.fromlocal(key)) success, data = d[:-1].split(" ", 1) if int(success): return bin(data) @@ -213,7 +213,7 @@ def lookup(repo, proto, key): try: - r = hex(repo.lookup(key)) + r = hex(repo.lookup(encoding.tolocal(key))) success = 1 except Exception, inst: r = str(inst)