py3: slice over bytes to prevent getting ascii values
This fixed reading of mergestate files and fixes 14 tests on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D2522
--- a/mercurial/merge.py Tue Feb 27 14:26:00 2018 -0800
+++ b/mercurial/merge.py Fri Mar 02 02:44:49 2018 +0530
@@ -287,14 +287,14 @@
off = 0
end = len(data)
while off < end:
- rtype = data[off]
+ rtype = data[off:off + 1]
off += 1
length = _unpack('>I', data[off:(off + 4)])[0]
off += 4
record = data[off:(off + length)]
off += length
if rtype == 't':
- rtype, record = record[0], record[1:]
+ rtype, record = record[0:1], record[1:]
records.append((rtype, record))
f.close()
except IOError as err: