Re: [PATCH v3 6/8] git-remote-testpy: hash bytes explicitly
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 27, 2013, 05:30 UTC
- Message-ID
- <7vy5ffxkfb.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <5104B0B5.1030501@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
Show 6 quoted lines
> This will still fail under Python 2.x if repo.path is a byte string that > contains non-ASCII characters. And it will fail under Python 3.1 and > later if repo.path contains characters using the surrogateescape > encoding option [1],... > Here you don't really need byte-for-byte correctness; it would be enough > to get *some* byte string that is unique for a given input ...
Yeek.
As we do not care about the actual value at all, how about doing something like this instead?
git-remote-testgit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git-remote-testgit.py b/git-remote-testgit.py index 5f3ebd2..705750d 100644 --- a/git-remote-testgit.py +++ b/git-remote-testgit.py @@ -40,7 +40,7 @@ def get_repo(alias, url): repo.get_head() hasher = _digest() - hasher.update(repo.path) + hasher.update(".".join([str(ord(c)) for c in repo.path])) repo.hash = hasher.hexdigest() repo.get_base_path = lambda base: os.path.join(