diff -r 7834da4b00fa -r ecbba7b2e444 mercurial/manifest.py --- a/mercurial/manifest.py Mon Apr 13 12:18:29 2020 -0400 +++ b/mercurial/manifest.py Tue Jan 07 11:25:13 2020 -0500 @@ -386,7 +386,11 @@ self.extradata = [] def _pack(self, d): - return d[0] + b'\x00' + hex(d[1][:20]) + d[2] + b'\n' + n = d[1] + if len(n) == 21 or len(n) == 33: + n = n[:-1] + assert len(n) == 20 or len(n) == 32 + return d[0] + b'\x00' + hex(n) + d[2] + b'\n' def text(self): self._compact()