diff -r 0048a852b6aa -r 260a6f715bd2 mercurial/manifest.py --- a/mercurial/manifest.py Sun May 28 18:08:36 2017 -0400 +++ b/mercurial/manifest.py Sun May 28 21:29:15 2017 -0400 @@ -33,7 +33,7 @@ # 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 @@ 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: