# HG changeset patch # User Joerg Sonnenberger # Date 2020-07-21 20:41:45 # Node ID c4a4a49589bf0613329a8108ce91895ee1012e96 # Parent 6a0e7bf73bb2f87eb8f2458e4ec21ed5570fefcb storageutil: allow modern hash sizes for fileids Differential Revision: https://phab.mercurial-scm.org/D8783 diff --git a/mercurial/utils/storageutil.py b/mercurial/utils/storageutil.py --- a/mercurial/utils/storageutil.py +++ b/mercurial/utils/storageutil.py @@ -180,9 +180,9 @@ def fileidlookup(store, fileid, identifi ``fileid`` can be: - * A 20 byte binary node. + * A 20 or 32 byte binary node. * An integer revision number - * A 40 byte hex node. + * A 40 or 64 byte hex node. * A bytes that can be parsed as an integer representing a revision number. ``identifier`` is used to populate ``error.LookupError`` with an identifier @@ -198,14 +198,14 @@ def fileidlookup(store, fileid, identifi b'%d' % fileid, identifier, _(b'no match found') ) - if len(fileid) == 20: + if len(fileid) in (20, 32): try: store.rev(fileid) return fileid except error.LookupError: pass - if len(fileid) == 40: + if len(fileid) in (40, 64): try: rawnode = bin(fileid) store.rev(rawnode)