Closed by commit rHGecbba7b2e444: manifest: remove a 20-byte-hash assumption from pure manifest parsing (authored by durin42). This revision was automatically updated to reflect the committed changes.
REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D8367?vs=21050&id=21080 CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D8367/new/ REVISION DETAIL https://phab.mercurial-scm.org/D8367 AFFECTED FILES mercurial/manifest.py CHANGE DETAILS diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -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() To: durin42, #hg-reviewers, pulkit, Alphare Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel