# HG changeset patch # User Matt Harbison # Date 1619497572 14400 # Node ID 846920d89476c19176df8a9f7871fb3d30d02820 # Parent 96d295dd4968218a5ff93460ce589d8f1bc550b8 git: fix partial node matching Looks like everything is meant to be a str here. Differential Revision: https://phab.mercurial-scm.org/D10521 diff -r 96d295dd4968 -r 846920d89476 hgext/git/gitlog.py --- a/hgext/git/gitlog.py Tue Apr 27 00:23:05 2021 -0400 +++ b/hgext/git/gitlog.py Tue Apr 27 00:26:12 2021 -0400 @@ -168,7 +168,8 @@ candidates = [ bin(x[0]) for x in self._db.execute( - 'SELECT node FROM changelog WHERE node LIKE ?', (id + b'%',) + 'SELECT node FROM changelog WHERE node LIKE ?', + (pycompat.sysstr(id + b'%'),), ) ] if nullhex.startswith(id): diff -r 96d295dd4968 -r 846920d89476 tests/test-git-interop.t --- a/tests/test-git-interop.t Tue Apr 27 00:23:05 2021 -0400 +++ b/tests/test-git-interop.t Tue Apr 27 00:26:12 2021 -0400 @@ -271,6 +271,20 @@ $ hg log -r ae1ab744f95bfd5b07cf573baef98a778058537b --template "{shortest(node,1)}\n" ae +This covers gitlog._partialmatch() + $ hg log -r a + abort: ambiguous revision identifier: a + [10] + $ hg log -r a1 + changeset: 2:a1983dd7fb19 + user: test + date: Fri Mar 06 14:26:27 2020 -0500 + summary: more alpha + + $ hg log -r dead + abort: unknown revision 'dead' + [255] + This coveres changelog.findmissing() $ hg merge --preview 3d9be8deba43