Patchwork D2522: py3: slice over bytes to prevent getting ascii values

login
register
mail settings
Submitter phabricator
Date March 1, 2018, 10:06 p.m.
Message ID <differential-rev-PHID-DREV-c5ufsz62k4gngy6gkc2r-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/28609/
State Superseded
Headers show

Comments

phabricator - March 1, 2018, 10:06 p.m.
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This fixed reading of mergestate files and fixes 14 tests on Python 3.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D2522

AFFECTED FILES
  mercurial/merge.py

CHANGE DETAILS




To: pulkit, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -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: