Mercurial > hg
diff hgext/show.py @ 37709:7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
The shortest() template function depended on the behavior of
revlog._partialmatch() for these types of inputs:
* non-hex strings
* ambiguous strings
* too long strings
revlog._partialmatch() seems to return the input unchanged in these
cases, but we shouldn't depend on such a low-level function to match
the behavior we want in the user-facing template function. Instead,
let's handle these cases in the template function and always pass a
binary nodeid to _partialmatch().
Differential Revision: https://phab.mercurial-scm.org/D3371
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sat, 14 Apr 2018 00:13:08 -0700 |
parents | 8e8541610d85 |
children | c303d65d2e34 |
line wrap: on
line diff
--- a/hgext/show.py Fri Apr 13 10:36:03 2018 -0700 +++ b/hgext/show.py Sat Apr 14 00:13:08 2018 -0700 @@ -29,7 +29,6 @@ from mercurial.i18n import _ from mercurial.node import ( - hex, nullrev, ) from mercurial import ( @@ -448,8 +447,8 @@ if not revs: return minlen cl = repo.changelog - return max(len(scmutil.shortesthexnodeidprefix(repo, hex(cl.node(r)), - minlen)) for r in revs) + return max(len(scmutil.shortesthexnodeidprefix(repo, cl.node(r), minlen)) + for r in revs) # Adjust the docstring of the show command so it shows all registered views. # This is a bit hacky because it runs at the end of module load. When moved