[PATCH 3 of 4 py3] manifest: fix some pure-Python parser bits to work on Python 3
Augie Fackler
raf at durin42.com
Sun May 28 21:43:04 EDT 2017
# HG changeset patch
# User Augie Fackler <raf at durin42.com>
# Date 1496021355 14400
# Sun May 28 21:29:15 2017 -0400
# Node ID d7743001547ef1de565717cebf7e88e31e60433c
# Parent 221e447c9410325c4051e61e762e2afd871a9b0f
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:
More information about the Mercurial-devel
mailing list