subrepo: bytes/str cleanups on Git support
Git subrepo tests now pass on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D5768
--- a/contrib/python3-whitelist Wed Jan 30 16:54:34 2019 -0800
+++ b/contrib/python3-whitelist Wed Jan 30 19:29:32 2019 -0500
@@ -679,6 +679,7 @@
test-strip-cross.t
test-strip.t
test-subrepo-deep-nested-change.t
+test-subrepo-git.t
test-subrepo-missing.t
test-subrepo-paths.t
test-subrepo-recursion.t
--- a/mercurial/subrepo.py Wed Jan 30 16:54:34 2019 -0800
+++ b/mercurial/subrepo.py Wed Jan 30 19:29:32 2019 -0500
@@ -1284,7 +1284,7 @@
if stream:
return p.stdout, None
- retdata = p.stdout.read().strip()
+ retdata = pycompat.fsencode(p.stdout.read().strip())
# wait for the child to exit to avoid race condition.
p.wait()
@@ -1660,13 +1660,14 @@
for info in tar:
if info.isdir():
continue
- if match and not match(info.name):
+ bname = pycompat.fsencode(info.name)
+ if match and not match(bname):
continue
if info.issym():
data = info.linkname
else:
data = tar.extractfile(info).read()
- archiver.addfile(prefix + self._path + '/' + info.name,
+ archiver.addfile(prefix + self._path + '/' + bname,
info.mode, info.issym(), data)
total += 1
progress.increment()