Re: [PATCH 2/8] git_remote_helpers: fix input when running under Python 3
From: Michael Haggerty <hidden>
Date: 2016-06-15 22:55:44
On 01/12/2013 08:23 PM, John Keeping wrote:
quoted hunk ↗ jump to hunk
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 <redacted> --- 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/