From: Michael Haggerty Date: Sun, 13 Jan 2013 03:26:39 GMT Subject: Re: [PATCH 2/8] git_remote_helpers: fix input when running under Python 3 Message-ID: <50F2296F.8030909@alum.mit.edu> In-Reply-To: On 01/12/2013 08:23 PM, John Keeping wrote: > Although 2to3 will fix most issues in Python 2 code to make it run under > Python 3, it does not handle the new strict separation between byte > strings and unicode strings. There is one instance in > git_remote_helpers where we are caught by this. > > Fix it by explicitly decoding the incoming byte string into a unicode > string. In this instance, use the locale under which the application is > running. > > Signed-off-by: John Keeping > --- > git_remote_helpers/git/importer.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/git_remote_helpers/git/importer.py b/git_remote_helpers/git/importer.py > index e28cc8f..6814003 100644 > --- a/git_remote_helpers/git/importer.py > +++ b/git_remote_helpers/git/importer.py > @@ -20,7 +20,7 @@ class GitImporter(object): > """Returns a dictionary with refs. > """ > args = ["git", "--git-dir=" + gitdir, "for-each-ref", "refs/heads"] > - lines = check_output(args).strip().split('\n') > + lines = check_output(args).decode().strip().split('\n') > refs = {} > for line in lines: > value, name = line.split(' ') > Won't this change cause an exception if the branch names are not all valid strings in the current locale's encoding? I don't see how this assumption is justified (e.g., see git-check-ref-format(1) for the rules governing reference names). Michael -- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/