Skip to content

Commit

Permalink
git-remote-testpy: hash bytes explicitly
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
John Keeping authored and Junio C Hamano committed Jan 25, 2013
1 parent cadbf5c commit 0846b0c
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions git-remote-testpy.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
from git_remote_helpers.git.importer import GitImporter
from git_remote_helpers.git.non_local import NonLocalGit

if sys.hexversion < 0x01050200:
# os.makedirs() is the limiter
sys.stderr.write("git-remote-testgit: requires Python 1.5.2 or later.\n")
if sys.hexversion < 0x02000000:
# string.encode() is the limiter
sys.stderr.write("git-remote-testgit: requires Python 2.0 or later.\n")
sys.exit(1)

def get_repo(alias, url):
Expand All @@ -45,7 +45,7 @@ def get_repo(alias, url):
repo.get_head()

hasher = _digest()
hasher.update(repo.path)
hasher.update(repo.path.encode('hex'))
repo.hash = hasher.hexdigest()

repo.get_base_path = lambda base: os.path.join(
Expand Down

0 comments on commit 0846b0c

Please sign in to comment.