git-remote-testpy: hash bytes explicitly

Under Python 3 'hasher.update(...)' must take a byte string and not a unicode string. Explicitly encode the argument to this method to hex bytes so that we don't need to worry about failures to encode that might occur if we chose a textual encoding. This changes the directory used by git-remote-testpy for its git mirror of the remote repository, but this tool should not have any serious users as it is used primarily to test the Python remote helper framework. The use of encode() moves the required Python version forward to 2.0. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>

John Keeping committed Jan 20, 2013 at 13:15 UTC 0846b0c905a885720138e8194fb0289f121b5da1
1 file changed +4 -4
git-remote-testpy.py
+4 -4
@@ -31,9 +31,9 @@ from git_remote_helpers.git.exporter import GitExporter
31 from git_remote_helpers.git.importer import GitImporter
32 from git_remote_helpers.git.non_local import NonLocalGit
33
34 -if sys.hexversion < 0x01050200:
35 - # os.makedirs() is the limiter
36 - sys.stderr.write("git-remote-testgit: requires Python 1.5.2 or later.\n")
34 +if sys.hexversion < 0x02000000:
35 + # string.encode() is the limiter
36 + sys.stderr.write("git-remote-testgit: requires Python 2.0 or later.\n")
37 sys.exit(1)
38
39 def get_repo(alias, url):
@@ -45,7 +45,7 @@ def get_repo(alias, url):
45 repo.get_head()
46
47 hasher = _digest()
48 - hasher.update(repo.path)
48 + hasher.update(repo.path.encode('hex'))
49 repo.hash = hasher.hexdigest()
50
51 repo.get_base_path = lambda base: os.path.join(