# HG changeset patch # User Augie Fackler # Date 2017-05-29 01:29:15 # Node ID 260a6f715bd212c66d9da637192f30eb4c133fc4 # Parent 0048a852b6aa5244e30f0ae902f2855f6d3dd201 manifest: fix some pure-Python parser bits to work on Python 3 diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -33,7 +33,7 @@ def _parsev1(data): # class exactly matches its C counterpart to try and help # prevent surprise breakage for anyone that develops against # the pure version. - if data and data[-1] != '\n': + if data and data[-1:] != '\n': raise ValueError('Manifest did not end in a newline.') prev = None for l in data.splitlines(): @@ -55,7 +55,7 @@ def _parsev2(data): end = data.find('\n', pos + 1) # +1 to skip stem length byte if end == -1: raise ValueError('Manifest ended with incomplete file entry.') - stemlen = ord(data[pos]) + stemlen = ord(data[pos:pos + 1]) items = data[pos + 1:end].split('\0') f = prevf[:stemlen] + items[0] if prevf > f: