diff -r cd51d4957b28 -r 31602d471b60 mercurial/revlog.py --- a/mercurial/revlog.py Thu Jun 02 16:24:06 2022 +0200 +++ b/mercurial/revlog.py Mon May 30 00:39:53 2022 +0200 @@ -1527,8 +1527,8 @@ if len(id) <= 40: try: # hex(node)[:...] - l = len(id) // 2 # grab an even number of digits - prefix = bin(id[: l * 2]) + l = len(id) // 2 * 2 # grab an even number of digits + prefix = bin(id[:l]) nl = [e[7] for e in self.index if e[7].startswith(prefix)] nl = [ n for n in nl if hex(n).startswith(id) and self.hasnode(n)