convert: open all files in binary mode
Differential Revision: https://phab.mercurial-scm.org/D2220
--- a/hgext/convert/common.py Mon Feb 12 22:29:36 2018 -0500
+++ b/hgext/convert/common.py Mon Feb 12 23:50:58 2018 -0500
@@ -447,7 +447,7 @@
if not self.path:
return
try:
- fp = open(self.path, 'r')
+ fp = open(self.path, 'rb')
except IOError as err:
if err.errno != errno.ENOENT:
raise
@@ -471,7 +471,7 @@
def __setitem__(self, key, value):
if self.fp is None:
try:
- self.fp = open(self.path, 'a')
+ self.fp = open(self.path, 'ab')
except IOError as err:
raise error.Abort(
_('could not open map file %r: %s') %
--- a/hgext/convert/convcmd.py Mon Feb 12 22:29:36 2018 -0500
+++ b/hgext/convert/convcmd.py Mon Feb 12 23:50:58 2018 -0500
@@ -202,7 +202,7 @@
return {}
m = {}
try:
- fp = open(path, 'r')
+ fp = open(path, 'rb')
for i, line in enumerate(util.iterfile(fp)):
line = line.splitlines()[0].rstrip()
if not line:
@@ -407,13 +407,13 @@
authorfile = self.authorfile
if authorfile:
self.ui.status(_('writing author map file %s\n') % authorfile)
- ofile = open(authorfile, 'w+')
+ ofile = open(authorfile, 'wb+')
for author in self.authors:
ofile.write("%s=%s\n" % (author, self.authors[author]))
ofile.close()
def readauthormap(self, authorfile):
- afile = open(authorfile, 'r')
+ afile = open(authorfile, 'rb')
for line in afile:
line = line.strip()
--- a/hgext/convert/cvs.py Mon Feb 12 22:29:36 2018 -0500
+++ b/hgext/convert/cvs.py Mon Feb 12 23:50:58 2018 -0500
@@ -46,8 +46,8 @@
self.tags = {}
self.lastbranch = {}
self.socket = None
- self.cvsroot = open(os.path.join(cvs, "Root")).read()[:-1]
- self.cvsrepo = open(os.path.join(cvs, "Repository")).read()[:-1]
+ self.cvsroot = open(os.path.join(cvs, "Root"), 'rb').read()[:-1]
+ self.cvsrepo = open(os.path.join(cvs, "Repository"), 'rb').read()[:-1]
self.encoding = encoding.encoding
self._connect()
@@ -141,7 +141,7 @@
passw = "A"
cvspass = os.path.expanduser("~/.cvspass")
try:
- pf = open(cvspass)
+ pf = open(cvspass, 'rb')
for line in pf.read().splitlines():
part1, part2 = line.split(' ', 1)
# /1 :pserver:user@example.com:2401/cvsroot/foo
--- a/hgext/convert/cvsps.py Mon Feb 12 22:29:36 2018 -0500
+++ b/hgext/convert/cvsps.py Mon Feb 12 23:50:58 2018 -0500
@@ -132,7 +132,7 @@
# Get the real directory in the repository
try:
- prefix = open(os.path.join('CVS','Repository')).read().strip()
+ prefix = open(os.path.join('CVS','Repository'), 'rb').read().strip()
directory = prefix
if prefix == ".":
prefix = ""
@@ -144,7 +144,7 @@
# Use the Root file in the sandbox, if it exists
try:
- root = open(os.path.join('CVS','Root')).read().strip()
+ root = open(os.path.join('CVS','Root'), 'rb').read().strip()
except IOError:
pass
@@ -177,7 +177,7 @@
if cache == 'update':
try:
ui.note(_('reading cvs log cache %s\n') % cachefile)
- oldlog = pickle.load(open(cachefile))
+ oldlog = pickle.load(open(cachefile, 'rb'))
for e in oldlog:
if not (util.safehasattr(e, 'branchpoints') and
util.safehasattr(e, 'commitid') and
@@ -486,7 +486,7 @@
# write the new cachefile
ui.note(_('writing cvs log cache %s\n') % cachefile)
- pickle.dump(log, open(cachefile, 'w'))
+ pickle.dump(log, open(cachefile, 'wb'))
else:
log = oldlog
--- a/hgext/convert/filemap.py Mon Feb 12 22:29:36 2018 -0500
+++ b/hgext/convert/filemap.py Mon Feb 12 23:50:58 2018 -0500
@@ -71,7 +71,7 @@
(lex.infile, lex.lineno, listname, name))
return 1
return 0
- lex = shlex.shlex(open(path), path, True)
+ lex = shlex.shlex(open(path, 'rb'), path, True)
lex.wordchars += '!@#$%^&*()-=+[]{}|;:,./<>?'
cmd = lex.get_token()
while cmd:
--- a/hgext/convert/hg.py Mon Feb 12 22:29:36 2018 -0500
+++ b/hgext/convert/hg.py Mon Feb 12 23:50:58 2018 -0500
@@ -625,7 +625,7 @@
def converted(self, rev, destrev):
if self.convertfp is None:
- self.convertfp = open(self.repo.vfs.join('shamap'), 'a')
+ self.convertfp = open(self.repo.vfs.join('shamap'), 'ab')
self.convertfp.write('%s %s\n' % (destrev, rev))
self.convertfp.flush()
--- a/hgext/convert/subversion.py Mon Feb 12 22:29:36 2018 -0500
+++ b/hgext/convert/subversion.py Mon Feb 12 23:50:58 2018 -0500
@@ -231,7 +231,7 @@
def httpcheck(ui, path, proto):
try:
opener = urlreq.buildopener()
- rsp = opener.open('%s://%s/!svn/ver/0/.svn' % (proto, path))
+ rsp = opener.open('%s://%s/!svn/ver/0/.svn' % (proto, path), 'rb')
data = rsp.read()
except urlerr.httperror as inst:
if inst.code != 404:
@@ -639,7 +639,7 @@
return
if self.convertfp is None:
self.convertfp = open(os.path.join(self.wc, '.svn', 'hg-shamap'),
- 'a')
+ 'ab')
self.convertfp.write('%s %d\n' % (destrev, self.revnum(rev)))
self.convertfp.flush()
@@ -1158,7 +1158,7 @@
if created:
hook = os.path.join(created, 'hooks', 'pre-revprop-change')
- fp = open(hook, 'w')
+ fp = open(hook, 'wb')
fp.write(pre_revprop_change)
fp.close()
util.setflags(hook, False, True)
@@ -1308,7 +1308,7 @@
self.setexec = []
fd, messagefile = tempfile.mkstemp(prefix='hg-convert-')
- fp = os.fdopen(fd, pycompat.sysstr('w'))
+ fp = os.fdopen(fd, pycompat.sysstr('wb'))
fp.write(commit.desc)
fp.close()
try: