diff -r 9c43089b372a -r 0262bb59016f mercurial/httprepo.py --- a/mercurial/httprepo.py Mon Nov 16 14:09:31 2009 +0100 +++ b/mercurial/httprepo.py Mon Nov 16 13:35:36 2009 +0100 @@ -11,6 +11,7 @@ import repo, changegroup, statichttprepo, error, url, util import os, urllib, urllib2, urlparse, zlib, httplib import errno, socket +import encoding def zgenerator(f): zd = zlib.decompressobj() @@ -153,6 +154,10 @@ for branchpart in d.splitlines(): branchheads = branchpart.split(' ') branchname = urllib.unquote(branchheads[0]) + try: + branchname.decode('utf-8', 'strict') + except UnicodeDecodeError: + branchname = encoding.tolocal(branchname) branchheads = [bin(x) for x in branchheads[1:]] branchmap[branchname] = branchheads return branchmap